2011-11-10 73 views
0

我正在使用Google Maps JavaScript API v3。我想連線到谷歌地圖,KmlLayerKmlMouseEvent所有的默認地方,當我創建地圖時顯示。如何在Google Maps JavaScript API v3中訪問默認KmlLayer

我發現的唯一方法是給我一個KmlLayer的參考是創建它。但是,我想要所有的默認數據。

This post解釋瞭如何連接到KmlMouseEvent點擊如果我從外部文件加載KML。但是,我無法在API中找到允許我訪問默認KmlLayer的單擊事件的任何文檔。

我已經能夠想到的最佳解決方案是調用Places API並從返回的數據生成KML文件。 有一個更好的方法。

回答

3

1:所有的谷歌地圖V3的首先不是基於KML層上,所以沒有什麼默認KML
得到
2:即使是KML基礎,越來越默認KML層給出不可能谷歌地圖的當前狀態,您可能需要更改gooogle地圖api,否則這是不現實的。換句話說,你實際上不會使用谷歌地圖。

Online Mapping with Google Maps API for your reference

0

如果我正確理解你的問題,我不會舒服......你可以訪問默認谷歌地圖項目像火車站,餐館,地方等每一個點擊事件...?

如果這是正確的,讓我告訴你以下幾點:

默認谷歌,地圖層不是KML層。第一層是動態的,不會在整個地圖上加載/渲染定義的地方,例如KML-Layers。該圖層在視口更改時加載其項目。如果您考慮性能和流量,這是有道理的。因此,如果您想爲默認場所設置點擊事件,則必須對每個視口更改執行此操作。

回到您的問題...我不是很舒服,但我認爲這是Google的安全限制。因爲如果您可以訪問默認的點擊事件,那麼您可以更改您無權更改的內容(如地點Infobox)。改變默認點擊事件的唯一方法是更改​​谷歌js代碼,這將打破谷歌使用政策;)

我想幫助你,但我恐怕你的計劃似乎是不可能的。

PS:對不起,我的英語不好,我是瑞士德語;)

乾杯。弗蘭克

+0

我在哪裏可以找到文檔支持你的說法,即默認的谷歌,地圖層** **不是一個KML - 層? – smartcaveman

+1

KML只是您可以在Google地圖中使用的許多不同圖層之一。 KML是一種開放式格式,可將地理數據渲染爲疊加。許多不同的地圖支持它... 在這裏你可以閱讀,谷歌地圖有一個類來呈現KML文件,但谷歌地圖不是基於KML:http://googlegeodevelopers.blogspot.com/2010/05/kml- traffic-and-bicycling-layers-come.html 在這裏閱讀關於KML是什麼以及它不是什麼: http://en.wikipedia.org/wiki/Keyhole_Markup_Language And layers: http:// bit。ly/tb3Fcb 如果您瞭解KML和圖層的原理,則知道baselayer不能爲KML;) –

+2

@frank_neff正確... Google Maps API v3添加對KML,Traffic和Bike路線的支持。詢問默認的KML層就像是要求默認的「自行車路線」層。這顯然沒有意義。 – Omtara

相關問題