有没有办法更改Android Google Map API的地图数据?

问题描述:

我需要在Android中的地图内使用与Google提供的数据不同的数据源。有没有办法将数据源更改为基于磁贴的服务(例如openstreetmap.org)?有没有办法更改Android Google Map API的地图数据?

还有其他的Android地图API是开源的,可以改编(除Ericcson Mobile Maps--这对我来说不适用,因为许可证)?它必须有一个服务器端部分 - 一个丰富的功能库就足够了。

使用OpenStreetMaps,就像你建议的那样。已有18 applications已与OpenStreetMaps集成。

尽管Android操作系统是一个开放的操作系统,但不幸的是操作系统的核心仍然是封闭的 - 这包括像谷歌地图这样的模块。虽然我猜想可以通过使用HOSTS文件来重写Google地图查询其数据的位置,但仍然需要对应用程序检索数据的方式进行逆向工程,然后您必须输出自己的数据。真的,我认为这听起来很混乱,而不是最理想的黑客。

如果有办法做到这一点,我不知道它在Android上。如果我正确地记得这是可能的,通过操纵缓存的地图图块,但从其他来源检索地图图块,据我所知不可能。

+0

“不幸的是操作系统的核心仍然关闭 - 这包括像谷歌地图模块”。不,操作系统的核心是开放的。 Google地图是一个已关闭的应用程序和SDK附加组件。 – CommonsWare 2010-03-30 14:55:36

+0

我的不好,我没有意识到这一点。 – Seidr 2010-03-30 14:57:56

+0

你写的其余大部分内容都是正确的 - 我只想评论“操作系统的核心仍然是封闭的”部分。 – CommonsWare 2010-03-30 14:58:09

osmdroid现在可以用作库来提供与Google地图类似的功能,但使用OpenStreetMap数据代替。 http://code.google.com/p/osmdroid/