大家好我正在为我的下一个项目做一些基础工作,我需要在应用程序中显示 map 。我正在寻找谷歌地图的替代品,我在这里找到了一个列表 Alternatives to google maps api我正在考虑使用 OpenLayer map 。我想知道使用 OpenLayers 是否有任何限制是否有人在这方面工作过。我在 OpenLayers 网站上找不到任何限制。
最佳答案
我目前正在实现一个应用程序,该应用程序使用 openlayers 来显示由我们自己的图 block 服务器提供的基于 OSM 的 map 。我在 WebView 中使用 OL。 html 文件和脚本、图像...存储在应用程序的 Assets 文件夹中并从那里调用。
到目前为止一切正常。但是对于 Android,您对多点触控导航有限制。尽管该设备支持多点触控(尤其是双指缩放手势),但 Android WebView(和标准浏览器)无法支持。自 2009 年以来,对于 Android < 3.0,这是一个悬而未决的问题 您可以根据 limitation documentation on openlayers.org 找到并且有一个汇总表(我会发布它,但 StackOverflow 不允许我发布图片,因为我是新成员) There is an interesting project为了在 Android 上实现双指缩放,我将在接下来的几周内尝试一下。
虽然从普通浏览器观看时 map 的性能非常好,但在 web View 中使用它时存在一些性能问题:任何缩放操作都会导致异常高的 cpu 负载,并且无法使用该应用程序5-10 秒。我只在 Samsung Galaxy S1 (Android 2.3.6) 上测试过它。但是,性能问题不会出现在模拟器上。下周我应该有双核 cpu 的 android 设备。我认为这将使该应用程序再次可用于 WebView 中的 map (将告诉您我的结果)。
总结我的经验,我必须说 OpenLayers 真的很强大,我觉得你可以用它做任何事情。您只需要在谷歌上搜索教程即可;-)
更新: 本周我能够在三星 Galaxy S3 上进行测试。 map 的性能很棒!没有问题了。由于 S3 配备了 Android 4.0.4,多点触控手势默认可用 - 无需更改。在模拟器上,当您非常密集地使用 map (缩放)时会出现一些问题 - 但在设备上不会出现此类问题。 我发现 Galaxy S 1 的 webview 缓存(仍然)有一些错误,因此速度非常慢。对于只有单核 cpu 的手机来说,这可能是个问题。无法测试另一台设备。 但是,如果您找不到问题的解决方案并认为这是一个与 openlayers 相关的问题,请检查 project page for issues
关于android - openlayer map 的限制是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11045299/