我正在google map api v3上工作,並且想要添加編輯折線的功能。截至谷歌文檔。當折線處於編輯模式時,會觸發3個事件。Google Maps API v3中的remove_at事件何時觸發?
- insert_at
- set_at
- remove_at
我知道前兩個事件被解僱,我能得到編輯的座標爲好。我也想刪除一個節點,但不知道它是如何工作的。任何人都可以告訴我什麼時候會將「remove_at」事件解僱?
我正在google map api v3上工作,並且想要添加編輯折線的功能。截至谷歌文檔。當折線處於編輯模式時,會觸發3個事件。Google Maps API v3中的remove_at事件何時觸發?
我知道前兩個事件被解僱,我能得到編輯的座標爲好。我也想刪除一個節點,但不知道它是如何工作的。任何人都可以告訴我什麼時候會將「remove_at」事件解僱?
根據documentation這些事件屬於類google.maps.MVCArray
。您也可以在這裏找到對remove_at
事件的描述:
當調用removeAt()時會觸發此事件。該事件通過傳遞給removeAt()的 索引以及從數組中刪除 的元素。
但我不確定您可以在編輯折線時使用這些事件來處理更改。這非常有趣,請讓我們知道它是否有效,以及如何!
當您撤消對現有覆蓋圖的編輯時,會觸發'remove_at',導致控制點被刪除。
我已創建fiddle to demonstrate這個。
從小提琴:
var myLatlng = new google.maps.LatLng(60.629765, 6.424094);
var myOptions = {
zoom: 14,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var drawMan = new google.maps.drawing.DrawingManager({
map: map,
drawingControl: false,
polygonOptions: {
editable: true,
draggable: true
}
});
drawMan.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);
google.maps.event.addListener(drawMan, 'overlaycomplete', function (event) {
// When draw mode is set to null you can edit the polygon you just drawed
drawMan.setDrawingMode(null);
google.maps.event.addListener(event.overlay.getPath(), 'remove_at', function() {
alert('remove_at triggered');
});
});
謝謝托馬斯先生。我意識到它在調用removeAt()時被觸發的事實,但是想要知道在觸發其他兩個事件時編輯多段線時何時觸發此事件。那麼我已經解決了它。 我爲polyline中的所有節點分配了一個「rightclick」偵聽器,並在觸發此右鍵單擊事件時刪除該節點,該工作正如我所希望的那樣工作。我現在已經完全工作。謝謝:) – tmjam
我真的很期待多邊形和多段線,除了相同的路徑事件和行爲相同...但沒有0 –
@JohnnyDarvall,很典型:)你能更具體嗎?多邊形如何不同? – TMS