我有多邊形,多邊形和多邊形的洞。所有他們工作正常。我們目前正在打一針(標記),然後在有人選擇不同的多邊形時移動標記。 [編輯:有數百個多邊形,因此在下面的答案中手動重新設置它們是不實際的]更改多邊形fillColor - 只有選定的多邊形和清除以前的選擇(谷歌地圖V3)
我們想要的是用fillColor替換標記。當有人點擊多邊形時,我可以輕鬆更改fillColor - 這不是問題。我遇到的問題是嘗試清除fillColor,當有人點擊不同的多邊形時。
這是許多文件的大型項目......但相關部分是在這裏:
//building is the polygon
building.addListener('click', function() {
// We've been using markers, can we can easily move them.
setMarker(map, this.center, true);
// Want to use this instead. This works fine to color the polygon but...
this.setOptions({
fillColor: 'orange'
});
// I need some function, likely to be called here that clears any other polygon that has been change to 'orange'.
// I was looking at map.data.revertStyle(); but this doesn't work at this level.
});
只是爲了說清楚,有很多的如何重置實例多邊形,如果有人再次點擊它。這很容易做到。當點擊不同的多邊形時,我想要重置,就像移動標記功能的工作方式一樣。
謝謝
雖然這種技術的工作原理 - 感謝,這不是對於大多數應用實踐。例如,我們有數百個多邊形,明確地調用每個將是一場噩夢。 – Mauricio
我考慮過了,解決方案是創建自己的google.maps.Polygon實現/擴展,就像他們在[這個問題]中提出的一樣(https://stackoverflow.com/questions/21321157/how-can-i -create-custom-events-for-google-maps-api-v3-objects),遵循事件的相同想法。上面的代碼絕不是生產就緒的代碼,它只是給你一個簡單的工作例子,它會讓你朝着正確的方向 – randomguy04