2017-02-27 73 views
0
for(; j<cos[i].length; j++) { 
    var markerLatLng = new google.maps.LatLng(cos[i][j].lat, cos[i][j].lng); 

    // Place a draggable marker on the map 
    var marker = new google.maps.Marker({ 
     position: markerLatLng, 
     map: map, 
     draggable: true, 
     title: "Drag me!" 
    }); 

    google.maps.event.addListener(marker, 'rightclick', function(mouseEvent) { 
     alert(marker.getPosition().lat()); 
    }); 
}   

該頁面提醒列表中最後一個標記的位置或最後創建的標記。目標是顯示每個單獨標記的位置,當點擊該標記時右鍵單擊,但右鍵單擊當前只顯示最後一個標記的位置。爲什麼事件處理程序的函數只能看到最後一個標記?如何訪問谷歌地圖事件處理程序中的標記?

我感謝任何幫助!謝謝!

+0

嘗試添加標記您的內for循環和設置您的eventlistiner的外面,你創建的標記 – matyas

回答

1

嘗試關鍵字:

google.maps.event.addListener(marker, 'rightclick', function() { 
    alert(this.getPosition().lat()); 
}); 
+0

感謝這做到了循環。如何知道這指向事件處理程序內部? – kofhearts

+0

如果有文檔,您可以嘗試在那裏找到這些信息。否則,您可以嘗試在瀏覽器中使用調試器來弄清楚它。 –