我有如下2個功能:谷歌地圖API 3刪除選定的標記只有
function addMarker() {
marker = new google.maps.Marker({
position: Gpoint,
map: map,
draggable: true,
animation: google.maps.Animation.DROP
});
map.panTo(Gpoint);
google.maps.event.addListener(marker, "rightclick",
function (point) {
showContextMarker(point.latLng); });
$('.contextmenu').remove();
};
function delMarker() { marker.setMap(null); $('.contextmenu').remove(); };
所以,可以理解我也有「刪除標記」選項就可以了上下文菜單。 我在添加標記期間綁定「右鍵」偵聽器,以顯示此菜單。
一切工作沒有任何問題,直到這一刻。
但是,當我嘗試點擊一個標記刪除;它隻影響最後添加的標記。 當我再試一次;什麼都沒發生。
所以我的想法是獲得點擊標記的id(或者可能是有用的東西)並根據這個運行這個刪除函數。
簡而言之;我想從具有多個標記的地圖上刪除我點擊的標記。
您有解決此問題的方法嗎?
在此先感謝!
已解決!
這是解決方案。謝謝法提赫。如果沒有你的指導是不可能的:
var id;
var markers = {};
var addMarker = function() {
marker = new google.maps.Marker({
position: Gpoint,
map: map,
draggable: true,
animation: google.maps.Animation.DROP
});
map.panTo(Gpoint);
id = marker.__gm_id
markers[id] = marker;
google.maps.event.addListener(marker, "rightclick", function (point) { id = this.__gm_id; delMarker(id) });
}
var delMarker = function (id) {
marker = markers[id];
marker.setMap(null);
}
通過調用刪除功能:delMarker(id)
PS:「點擊鼠標右鍵就足以在這種情況下,」
謝謝!
但你想實現什麼???。刪除所有的標記? – Jorge 2011-12-15 14:45:46
只刪除點擊的那個! – MrGorki 2011-12-15 14:49:33