覆盖MapView平铺源?

时间:2012-02-09 14:57:30

标签: android maps tiles

是否可以覆盖Android MapView显示的切片源?

我在数据库中有一些地图图像图块,并希望使用Google地图MapView来查看它们。

另外,如果这是不可能的......有没有人知道允许这个的MapView? (OpenStreetMap API ... MapQuest API ......等)

我正在寻找一种不依赖于GPL / LGPL的解决方案。

2 个答案:

答案 0 :(得分:5)

您可以使用其中一些库:osmdroidmapsforge。它们都提供了一些互联网地图数据库的接口,并允许创建自己的地图提供程序。

它们允许您拥有(和处理)离线缓存,动态异步地图加载,重新采样缩放,添加叠加等,就像原始MapView一样。 使用这些库的另一个好处是它们是为谷歌MapView的就地替换而精心设计的。

您也可能对Google的Javascript地图api感兴趣,它也允许使用自定义地图来源(请参阅this link)。此方法可用于将地图加载到WebView中。但在这种情况下,您仍然需要使用Google的Maps API密钥,而且我发现您每天仍然只能使用25,000次使用。

== UPDATE ==

现在,Google地图for Android(Google Play服务中的那个)支持自定义磁贴,因此不再需要使用第三方库来应用您自己的磁贴(如果使用符合许可协议)。

答案 1 :(得分:3)

您可以创建TileProvider以将切片返回到Maps API。然后使用setMapType设置MAP_TYPE_NONE,只显示您提供的图块。我知道可以为MapFragment执行此操作,但尚未使用MapView进行尝试。

有关示例,请参阅MapDemo TileOverlayDemo中Google的示例代码。