我有与必应地图集成的开放层。我想转换这个目前的系统与谷歌地图也取代必应地图。我使用了必应地图的旅行计划,绘制形状,搜索位置,添加注释,添加层等。
我也可以用谷歌地图做这些功能吗?
发布于 2018-11-12 18:44:34
这个问题以前也有人问过,但有些答案是不恰当的,主要是因为一个非常糟糕的OpenLayers例子。
与Bing不同的是,谷歌不允许它的地图块直接在Open层中使用,而且您不能在Google中使用Openlayers代码,因此您需要重写其中的大部分代码。
但是,可以使用javascript将Open层映射和控件放在Google地图之上。OpenLayers给出了一个非常糟糕的示例,说明了如何使用OpenLayers 3实现该操作,并随后将其删除。下面是在OpenLayers 4 http://bl.ocks.org/ThomasG77/21192c7045ab8f50e22e中运行的两个层的副本,在缩放映射时,这两个层显然非常不同步。然而,通过暂时隐藏上覆的OpenLayers层,而Google地图追赶和/或最小化OpenLayers缩放的持续时间来缩短追赶时间,可以显着地改善体验。此外,还存在一些小问题,如重置OpenLayers字体大小,使其不会继承底层谷歌地图的较小大小,以及隐藏或重新定位这两组属性以避免其中一组困扰另一组,也可以改善体验。谷歌也有禁用缩放动画的选项,但这已不再可用。
下面是一个经过修改的示例,运行了这些调整,http://mikenunn.16mb.com/demo/ol5-google-demo.htm,它使用了一个图层切换器,这样您就可以比较放大半透明地质层与普通的OpenLayers OSM层和底层谷歌地图的效果。如果您已经有了大量的OpenLayers代码,这是值得考虑的,您可能偶尔想要在Google背景下使用这些代码。
https://stackoverflow.com/questions/53264869
复制相似问题