use*_*245 -1 google-maps openlayers bing-maps
我有与 bing 地图集成的 openlayers。我也想用谷歌地图而不是 bing 地图转换这个当前系统。我已经将 bing 地图用于旅程规划、绘制形状、搜索位置、添加注释、添加图层等。
我也可以用谷歌地图做上述功能吗?
之前有人问过这个问题,但有些答案过于否定,主要是由于 OpenLayers 示例非常糟糕。
与 Bing 不同,Google 不允许直接在 Openlayers 中使用其地图图块,并且您不能在 Google 地图 API 中使用 OpenLayers 代码,因此您需要重写大部分代码。
但是,可以使用 javascript 将 Openlayers 地图和控件放置在 Google 地图之上。OpenLayers 生成了一个非常糟糕的示例,说明如何使用 OpenLayers 3 执行此操作并随后将其删除。这是在 OpenLayers 4 中运行的副本http://bl.ocks.org/ThomasG77/21192c7045ab8f50e22e 当地图放大时,这两个图层非常明显地显得严重不同步。但是,通过在 Google 地图赶上时暂时隐藏上覆的 OpenLayers 图层和/或最小化 OpenLayers 缩放持续时间以减少赶上时间,可以显着改善体验。加上一些小问题,例如重置 OpenLayers 字体大小,使其不会继承底层 Google 地图的较小尺寸,以及隐藏或重新定位两组属性以避免一组属性遮蔽另一组属性也改善了体验。还有一个谷歌选项可以禁用缩放动画,但不再可用。
这是一个经过这些调整后运行的修订示例http://mikenunn.16mb.com/demo/ol5-google-demo.htm 它使用图层切换器,因此您可以比较使用普通 OpenLayers 缩放半透明地质图层时的效果OSM 层和底层 Google 地图。如果您已经有很多 OpenLayers 代码,您可能偶尔希望在 Google 背景下使用这些代码,那么值得考虑。
| 归档时间: |
|
| 查看次数: |
3055 次 |
| 最近记录: |