【问题标题】:Open Layers with Google Maps in OpenGTS在 OpenGTS 中使用 Google 地图打开图层
【发布时间】:2013-07-11 08:58:38
【问题描述】:

默认情况下,我使用 Open Layers 作为我的 OpenGTS 地图服务提供商。 我现在正在努力将 Google 地图添加为开放图层的基础图层之一。 我通过将“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

我猜是因为我没有放入google maps api js。 那我应该放在哪里呢? 或者我应该如何纠正它? 有什么帮助吗?谢谢

【问题讨论】:

  • 抱歉,错误似乎不是来自这段代码。请问可以全部提供吗?
  • 您好,感谢您的回复。它绝对不是来自代码。而 openlayers.js 是 2000 多行编码。也许您会想参考 OpenGTS 项目? link
  • 不,我的意思是,您能否提供您的 FILENAME.js(或 FILENAME.html、FILENAME.ASP、...)代码?

标签: google-maps-api-3 openlayers


【解决方案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")
});

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-19
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    相关资源
    最近更新 更多