2014-01-17 152 views
-1

最近有人要求我使用google api v2將簡單的應用程序遷移到v3。 我沒有提出申請,也沒有提出申請,說實話,我從來沒有使用過Google API。 我能夠遷移它的大部分內容,直到我通過地圖實例創建一個Google地球實例,並達到這一條指令。如何從地圖實例創建Google地球實例 - google api v2到v3

var map; 
var ge; 

// map is initialized 

map.getEarthInstance(function(pluginInstance) 
{ 
    ge = pluginInstance; 
    // other stuff not relevant 
}); 

對於我明白了,關鍵是有一個谷歌地球對象鏈接到地圖對象,如果我嘗試有兩個不同的對象,應用程序無法正常工作。

我的問題是,如何在v3中實現該代碼?

從我所有的搜索中,我可以提供幫助的是這個link,但我得到一個異常「GoogleEarth未定義」。

我用下面的腳本:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&sensor=false"></script> 
<script type="text/javascript" src="https://www.google.com/jsapi?sensor=false"></script> 

任何人都可以幫我嗎?

謝謝大家花時間閱讀我的文章。

乾杯

+0

[Google地球與Google Maps API v3集成在一起?](http://stackoverflow.com/questions/3039250/google-earth-integrated-with-google-maps-api-v3) – Fraser

+0

此外,您只需要加載jsapi一次。即''script type =「text/javascript」src =「https://www.google.com/jsapi」>'那麼你可以簡單地調用'google.load('maps','3.x',{ other_params:'sensor = false'}); google.load('earth','1.x');'請參閱https://developers.google.com/loader/ - 像在這裏一樣加載api兩次會導致奇怪的錯誤。 – Fraser

+0

我不這麼認爲。這篇文章是關於谷歌地圖與谷歌地圖的整合,在設置地圖屬性時可以使用「mapTypeId:google.maps.MapTypeId.SATELLITE」完成。 我需要從Google地圖的實例創建Google地球的實例。請看看我發佈的鏈接。無論如何,謝謝你的回覆。 –

回答

0

你得到GoogleEarth is undefined大概是因爲你不加載定義它的文件。

你說你正在加載JavaScript API和V3地圖API ...但你也需要加載google-maps-utility-library-v3 - 例如

<script type="text/javascript" src="../googleearth-compiled.js"></script>

googleearth-compiled.jsfile can be found here

GoogleEarth對象的工作原理與google.maps.map對象在該文件中定義。

+0

:)我剛剛測試過,即將發佈,但你打我:) 我用下面一行來包含該文件: 「」 感謝您的幫助:) –

+0

不用擔心,只是說如果您已鏈接到實際的例子,它會立即清除問題。如果您在尋求代碼方面的幫助,請始終嘗試包含或鏈接到[簡短,自包含,可編譯,示例](http://sscce.org/)。你可以使用類似jsfiddle的東西,例如這裏是一個[簡單模板](http://jsfiddle.net/fraser/7U7FC/) – Fraser

相關問題