Google maps api 3 在OpenGTS中使用Google地图打开图层

Google maps api 3 在OpenGTS中使用Google地图打开图层,google-maps-api-3,openlayers,Google Maps Api 3,Openlayers,默认情况下,我使用OpenLayers作为OpenGTS地图服务提供商。 我现在正致力于添加谷歌地图作为开放层的基础层之一。 我修改了OpenLayers.js,将“MAPQUEST_showOSMLayer”更改为: /* Mapquest OSM */ if (MAPQUEST_showOSMLayer) { this.openLayersMap.addLayer(new OpenLayers.Layer.Google("Google Street")); baseLaye

默认情况下,我使用OpenLayers作为OpenGTS地图服务提供商。 我现在正致力于添加谷歌地图作为开放层的基础层之一。 我修改了OpenLayers.js,将“MAPQUEST_showOSMLayer”更改为:

/* Mapquest OSM */
if (MAPQUEST_showOSMLayer) 
{
    this.openLayersMap.addLayer(new OpenLayers.Layer.Google("Google Street"));
    baseLayerCount++;
}
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")
});
但当我加载地图时,出现以下错误消息:

[jsMapInit]:openLayers
Error Initializing map
(map provided service maybe temporary unavailable)
ReferenceError:google is not defined
我猜这是因为我没有在谷歌地图api js。 那我应该放在哪里? 或者我应该如何纠正它? 有什么帮助吗?谢谢你找到了路。 在“OpenLayers.java”中添加缺少的google api js文件 转到第180行附近,更改为以下内容:

/* Mapquest OSM */
if (MAPQUEST_showOSMLayer) 
{
    this.openLayersMap.addLayer(new OpenLayers.Layer.Google("Google Street"));
    baseLayerCount++;
}
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")
});

然后重新编译、重建项目。就这样

抱歉,看起来错误不是来自这段代码。你能提供全部吗?嗨,谢谢你的回复。这绝对不是源于代码。而openlayers.js有2000多行代码。也许您想参考OpenGTS项目?不,我是说,你能提供你的FILENAME.js(或FILENAME.html,FILENAME.ASP,…)代码吗?