没有互联网的Android地图(离线)

时间:2011-12-08 16:09:42

标签: android android-widget

我希望这不是一个天真的问题,但有没有办法制作一个Android应用程序,使用地图而不使用谷歌或互联网一般(如不是谷歌API)?可以从一个地图下载某个地方并在代码中离线合并了?我在考虑使用路线图,但在这种情况下不在你手中。谢谢你

4 个答案:

答案 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它已经很好地解释了它是如何完成的。