簡體   English   中英

單擊按鈕時移動Google Maps標記

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM