我正在嘗試構建顯示城市的Google地球視圖,但我堅持使用kml解析器geoxml3。我有一個JavaScript建立一個谷歌地圖,首先顯示我想要的位置。這工作正常。我從一個php腳本中調用函數,爲它提供一個來自數據庫的地址和kml文件引用。該函數構建地圖,當所有地球運行良好並調用構建谷歌地球視圖函數時,將標記「map_finished」設置爲控制標誌。使用geoxml3類和ProjectedOverlay類將kml文件傳遞給Google地球的問題
// Get maps and earth from google
google.load('maps', '2.s', {'other_params': 'sensor=true'});
google.load('earth', '1');
//Google Earth Initializer
function initObjectEarth() {
// Check if Google Earth plugin is installed
if(gm_loaded) {
this.ge_plugin_installed = google.earth.isInstalled();
if(this.ge_plugin_installed) {
google.earth.createInstance('inmap', geSuccessCallback, geFailureCallback);
ge_loaded = true;
} else {
alert('Your Browser has not yet installed the Google Earth plugin.
We recommend installing it to use all features!');
return false;
}
}
}
// Success handler
function geSuccessCallback(object) {
this.ge = object;
this.ge.getWindow().setVisibility(true);
this.kmlParser = new geoXML3.parser();
}
// Error handler
function geFailureCallback(object) {
alert('Error: ' + object);
}
geoxml解析器使用ProjectedOverlay類。這兩個庫都被加載到文檔頭中。當解析器被安裝時,它會請求一個ProjectedOverlay實例。這個類會引發
Error: **google.maps is undefined**
錯誤的螢火以下聲明
ProjectedOverlay.prototype = new google.maps.OverlayView();
在我的腳本文件我已經宣佈瓦爾包括
var gm //for google map
var ge //for google earth
克在構建功能設置谷歌地圖。
我想知道如何解決這個問題。我嘗試了我在web中發現的getProjection()事物以及
ProjectedOverlay.prototype = new google.maps.OverlayView().prototype;
沒有成功。這個話題對我來說是全新的,我無法弄清楚如何從OverlayView的文檔或谷歌搜索中解決它。
我忘了或做錯了什麼?