我想开发一个适用于离线地图的应用,我需要能够:
所以这些都是非常困难的任务,因为它们都必须离线工作。我发现很多Apis,比如MapsMe或MapsForge,都说它们是基于osm库的。那么这是否意味着我应该能够“混合”这些api并使它们在单个地图上工作? 例如:在同一地图上使用MapsMe的漂亮地图和MapsForge的路由系统
谢谢
答案 0 :(得分:0)
一切皆有可能。
尽管如此,他们都可以使用相同的source
数据(开放街道地图),但osmdroid和mapsforge会以不同的方式对它们进行预处理。 Osmdroid通常只通过服务器或使用mapsforge预渲染图块displays
。 Osm Bonus Pack使用在线资源(仅限在线资源)添加路由。
Mapsforge将osm数据预处理为中间数据库格式。然后根据需要在设备上呈现平铺。据我所知,POI信息需要另一个单独的数据库。我检查的最后一个,他们没有任何路由功能,但正在努力将POI信息转换为他们的中间数据库格式。与此相关的最佳信息是mapsforge github网站。
计算两点之间的直线距离是微不足道的,不需要任何地图引擎。这只是数学。只要您有一组点,沿着路线的距离也是直线图。不要忘记地球曲率中的因素。
地理编码,将纬度/经度转换为近似或精确的地址并再次返回可以使用osm数据完成,但我不知道任何可以离线执行此操作的整个行星。
您还必须考虑地理区域。 osm数据巨大,对于行星来说,压缩了大约40gb。显然,您需要以某种方式对数据进行子集化。