[英]Move google maps marker when button is clicked
我花了很多時間來解決這個問題,但無法弄清楚它是如何工作的,所以這是我的基礎:
<script>
function initialize() {
var mapOptions = {
center: new google.maps.LatLng("43.2697,26.9165"),
zoom: 8 };
var map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);
var marker=new google.maps.LatLng("43.2697,26.9165");
var main=new google.maps.Marker({position:marker});
main.setMap(map);
}
function moveMarker(lat,lng) {
var latlng = new google.maps.LatLng(parseFloat(lat), parseFloat(lng));
//???????
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
現在-在HTML中,我有一個按鈕和兩個文本字段。 單擊按鈕時,它會啟動moveMarker函數並傳遞新的緯度和經度-在字段中輸入。 目標是標記必須移動到新位置,並且地圖必須居中-相應地。 我嘗試了很多提示,但是-無法訪問標記對象(在本例中為Main),以便將其移動到新位置。
您的標記(“主”)位於初始化文件的本地。 要從HTML click事件訪問它,它必須在全局范圍內。
<script>
var main = null;
function initialize() {
var mapOptions = {
center: new google.maps.LatLng("43.2697,26.9165"),
zoom: 8 };
var map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);
var marker=new google.maps.LatLng("43.2697,26.9165");
main=new google.maps.Marker({position:marker});
main.setMap(map);
}
function moveMarker(lat,lng) {
var latlng = new google.maps.LatLng(parseFloat(lat), parseFloat(lng));
main.setPosition(latlng);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.