在OpenGTS中使用Google地图打开图层

时间:2013-07-09 08:17:13

标签: google-maps-api-3 openlayers

我默认使用Open Layers作为我的OpenGTS地图服务提供商。 我现在正致力于将Google地图添加为Open Layers的基础层之一。 我通过将“MAPQUEST_showOSMLayer”更改为以下内容来修改OpenLayers.js:

/* 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。 那我应该放在哪里? 或者我该如何纠正呢? 有帮助吗?感谢

1 个答案:

答案 0 :(得分: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")
});

然后重新编译,重建您的项目。就是这样!