2013-07-09 83 views
0

默認情況下,我使用Open Layers作爲OpenGTS地圖服務提供程序。 我現在正在努力將Google地圖添加爲Open Layers的基礎圖層之一。 我通過改變「MAPQUEST_showOSMLayer」到以下修改OpenLayers.js:在OpenGTS中使用Google地圖打開圖層

/* Mapquest OSM */ 
if (MAPQUEST_showOSMLayer) 
{ 
    this.openLayersMap.addLayer(new OpenLayers.Layer.Google("Google Street")); 
    baseLayerCount++; 
} 

但是,當我加載地圖,此錯誤消息出現了:

[jsMapInit]:openLayers 
Error Initializing map 
(map provided service maybe temporary unavailable) 
ReferenceError:google is not defined 

我想這是因爲我沒有」噸放在谷歌地圖api js。 那我應該在哪裏放? 或者我應該如何糾正它? 有什麼幫助嗎?謝謝

+0

對不起,看起來錯誤不是來自這段代碼。你能提供一切嗎? – br1

+0

嗨,感謝您的回覆。 這絕對不是來自代碼。而openlayers.js是超過2000行的編碼。 也許你會想參考OpenGTS項目? [鏈接](http://opengts.org) –

+0

不,我可以提供您的FILENAME.js(或FILENAME.html,FILENAME.ASP,...)代碼嗎? – br1

回答

1

找到了方法。 在「OpenLayers.java」中添加缺少的Google api js文件。 轉到近線180,做以下修改:

super.writeJSIncludes(out, reqState, new String[] { 
JavaScriptTools.qualifyJSFileRef("maps/jsmap.js"), 
(!StringTools.isBlank(jsURL)? jsURL : OPENLAYERS_JS_URL), 
JavaScriptTools.qualifyJSFileRef("maps/OpenLayers.js"), 
JavaScriptTools.qualifyJSFileRef("http://maps.google.com/maps/api/js?v=3&sensor=false") 
}); 

然後重新編譯,重新構建項目。而已!

相關問題