評估圈我試圖讓一個按鈕可以打開和關閉多個圓圈(顯示/隱藏可見性)。假設我只有一個html按鈕,並且我已經爲該按鈕添加了一個google.maps.event.addDomListener,我看過很多示例都使用setMap()來確定該圓是否已經存在。Google Map API - 使用getMap()或setMap()
if(circle.setMap() != null){
circle.setMap(null);
}else{
circle.setMap(map);
}
但是,這僅刪除圈,但一旦按鈕被再次點擊將不添加回來。如果圓不爲NULL並且像這樣計算,那麼我將圓設置爲null。這是怎麼回事,第二次點擊按鈕circle.setMap()!= null應該是false,但它只是繼續運行if語句而不是else。
我能夠用的GetMap(解決它)代替..
if(circle.getMap() != null){
circle.setMap(null);
}else{
circle.setMap(map);
}
到底是什麼的GetMap()在做什麼?爲什麼當我在很多例子中看到它時(即使是多段線和矩形)都會得到map()!= null NOT work?
我的第二個問題是,這是否是正確的方法來做到這一點?或者我會更好,只需將填充和描邊不透明度設置爲0?同樣,我通過使用setMap(null)來隱藏circle和setMap(map)來顯示它,我已經完成了上面的操作,地圖如何知道用於重新添加/顯示圓的參數?我問這是我的zindex爲圓圈強制它們在我繪製的一些多段線下方,但是當我隱藏圓圈而不是再次顯示它時,它位於多段線的頂部,但仍然是正確的大小和位置?
謝謝你的任何煽動!
哦確定,所以的setMap()對於一個給定圓實際設置的GetMap()的值?爲什麼這麼多的例子使用setMap()而不是getMap()來檢查圓是否已經存在?正如if(setMap()!= nuill){do stuff} – GifCo
我不知道哪些示例使用'setMap'來檢查一個圓是否存在.... setMap'不返回任何內容,所以它不適合檢查任何東西。這只是一個設置方法。 –