我希望这不是一个天真的问题,但有没有办法制作一个Android应用程序,使用地图而不使用谷歌或互联网一般(如不是谷歌API)?可以从一个地图下载某个地方并在代码中离线合并了?我在考虑使用路线图,但在这种情况下不在你手中。谢谢你
答案 0 :(得分:6)
使用谷歌地图:
谷歌地图应用程序支持预缓存,它完全符合您的要求。
现在是个坏消息:它不仅无法通过API实现,还会破坏服务条款。
此处有更多详情: Downloading/Caching Google Maps for Offline Use
服务条款第8条:
许可限制。除非本条款明确允许,或者除非您事先得到Google的书面授权(或适用的特定内容提供商),否则第7节授予您的许可是以您遵守所有限制为条件的。在第8节中,您不得(也不允许任何其他人):
...
8.2。复制,翻译,修改,创建衍生作品,预取,缓存,或公开展示任何内容或其任何部分。
...
(我强调的重点)
使用其他地图服务:
不知道......
答案 1 :(得分:5)
查看http://code.google.com/p/mapsforge/
它使用openstreetmap而不是googlemaps,并允许离线地图。 API与googlemaps api几乎完全相同。如果您熟悉googlemaps api,则应该很容易切换..
答案 2 :(得分:1)
您可能想尝试使用OpenStreetMap而不是GoogleMaps。虽然你不会将作为丰富的数据集,但它仍然可以用它做很多事情。
OSM Android page is here。
我没有为它进行过多的离线缓存,但正如您所看到的,已经使用他们的工具包构建了许多应用程序。
答案 3 :(得分:1)
您可以查看OpenStreetMap并使用Mapnik生成自己的图块。 对于移动使用,我建议调查osmosis - 裁剪不同的部分(边界框) - 制作更小尺寸的包。 Here它已经很好地解释了它是如何完成的。