2013-07-27 73 views
0

現在很明顯,如果我只是以正常方式添加它們,我會將它們保留在一個數組中,但在我的情況下,標記正在加載中,但我使用的是KML圖層。谷歌地圖V3,如何獲得一系列標記/覆蓋?

所以在KML加載和標記出現後,我基本上只想知道有多少,我可以找出一些愚蠢的黑客攻擊(再次用jQuery加載KML文件並在那裏計算它) ,但理想情況下我只想要像myArray = map.getMarkers()myArray = map.getOverlays()之類的東西,是否存在類似的東西?

這似乎是一個這麼簡單的任務,而不是爲什麼它花了我很長時間才找到答案。也許這只是不可能的?

回答

1

有沒有這樣的事情,你必須保持一個數組,並添加對象的ID每次插入一個。

+0

的事情是我沒有將他們所有,我加載它們從外部KML與「kmlLayer =新google.maps.KmlLayer文件({地圖:地圖,url:url});'這是一個帶有座標的XML文件。 –

+0

哦,我明白了。也許你可以提供我們的代碼或如何獲取你的數據的示例頁面 –

1

我不確定您是否可以在使用KLM圖層添加標記後訪問標記。如果你沒有那麼多的標記,那麼我會說使用普通的標記類加載它們。

也許我沒有做到這一點,但上次我嘗試使用KLM圖層實現標記時,我無法向它們添加任何事件,或者根本無法訪問它們。

如果您只需要對它們進行計數,那麼我會說使用AJAX加載相同的KML文件,並將其解析爲XML,然後您可以從中抓取元素以對其進行計數。

+0

是的,這就是我在v2中的做法我只是希望v3版本的KML支持會更好,因爲它有可能成爲一個相當優雅的解決方案。好吧。 –

+0

從我的經驗來看,如果您添加大量標記,KML非常方便,它確實可以改善地圖上的繪圖。在我的例子中,我使用15,000多個標記嘗試了它,並且它使用KML在瞬間將它們繪製在地圖上,但在Firefox上渲染了幾秒鐘,而在Chrome上使用Marker類稍微快一點。 – Samer