0
我在網上發現了幾篇文章,並在堆棧溢出中解釋瞭如何選擇多個標記的幾篇文章,但我一直無法找到任何可用於拖動2個標記的工具同時。我已經能夠使其工作的方式允許1個標記在其兄弟上觸發事件並拖動相關標記,但不知怎的,它會停止點擊標記上的拖動事件。同時拖動2個谷歌地圖標記
我不能使用複雜的多邊形,因爲無法更改複雜標記svg上只有一條路徑的顏色。我必須創建2個SVG,一個用於中心填充,另一個用於外部填充,然後我必須更改外部填充的顏色。
這是如何工作的。
首先我創建標記,然後將它們放置在相同的位置。
然後我將這些標記傳遞給這個函數。
addMultiMarkerListener:function(id, outer, inner){
var arr = ['mousedown', 'mouseup', 'click','mouseover','mouseout', 'dragend','drag','dragstar'];
var evtArr = {}
_.each(arr, function(evt){
evtArr[evt] = {};
evtArr[evt][id] = false;
outer.addListener(evt, function(){
if(!evtArr[evt][id]){
evtArr[evt][id] = true;
google.maps.event.trigger(inner, evt);
evtArr[evt][id] = false
}
})
inner.addListener(evt, function(){
if(!evtArr[evt][id]){
evtArr[evt][id] = true;
google.maps.event.trigger(outer, evt);
evtArr[evt][id] = false
}
})
})
},
我希望這能夠觸發鼠標按下事件都標記,這樣當我點擊了,我可以在同一時間拖動這兩個標記。現在它的工作方式是,當我在兄弟標記上觸發mousedown事件時,停止第一個mousedown事件。
我也在想,我可以開個單獨的事件,不會干擾第一個。這可能需要一點深思熟慮,但我認爲我可以讓它工作。我只是希望其他人能夠就此提供一些見解。