【发布时间】:2015-11-29 14:03:52
【问题描述】:
如何在 OpenLayers 3 中使用谷歌地图?
我想从 OpenLayers 2 迁移到 3。
这是一个例子:
google map integration with OpenLayers example
但是使用这种方法需要更改旧的 HTML 代码(需要两个元素,示例中提到的 'gmap' 和 'olmap')。
ol3 官方不支持谷歌地图,但我的问题是:
“如何在我的项目中像 MapServer 一样使用 Google Maps Tile Service,而无需在脚本标签中添加 google API reference(用于优化目的)?”
这是我在 OpenLayers 2 中正常工作的旧代码:
var map = new OpenLayers.Map("map_canvas", {
controls: [
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.ScaleLine(),
new OpenLayers.Control.MousePosition(),
new OpenLayers.Control.OverviewMap()
],
units: "m",
numZoomLevels: 21
});
var gmap = new OpenLayers.Layer.Google(
{ type: google.maps.MapTypeId.ROADMAP, numZoomLevels: 21}
);
map.addLayers([gmap]);
和html代码:
<div id="map_canvas">
</div>
感谢任何帮助。
【问题讨论】:
-
您不能在没有 API 的情况下使用 google 的磁贴,这违反了使用条款(因此很难执行/维护)
-
那么,如何在不更改旧 html 代码的情况下在 OpenLayers 3 中使用谷歌地图?
-
你尝试了什么?向我们展示您的代码。
-
@steenhulthin:谢谢,问题已更新。
标签: javascript google-maps gis openlayers-3 mapserver