2012-08-26 59 views
4

Android与版本(4+?)引入了离线地图,我可以在手机上选择要缓存的区域,然后Google地图下载地图数据在手机上。应用程序如何使用Android 4+的Google离线地图?

因为我收到了一条评论:我想使用已经在我的设备上的数据(如果用户已经完成了之前用于离线地图下载的数据)。并且不会向Google的服务器开放新的数据连接(例如,因为数据收费将适用)。

我可以在我的应用程序中使用该地图数据 - 例如通过发送地图应用程序的意图显示一个区域(也许与覆盖)? 或甚至使用我的应用程序内的地图部件?

我说的不是下载从谷歌服务器的一些瓦片到我的应用程序

+0

你说你不是在谈论从Google服务器上下载一些图块到你的应用中,但这正是你说的“离线地图”所做的。无论如何,这是一个法律问题吗?你问是否可以偷小偷吗? ;-) – Marcelo

+0

通过意图显示可能是可能的,但您不能在您的应用程序中使用该数据。 – Gogu

+0

+ Marcelo:我说我想要使用Google地图应用已下载的图块。 –

回答

3

能否使用,从我的应用程序内的地图数据 - 例如通过发送地图应用程序的意图显示一个区域(也许与覆盖)?

好了,你可以调用使用ACTION_VIEWgeo:Intent地图应用。是否会查看某个缓存区域取决于用户使用的地图应用程序以及用户是否缓存了指定经度和纬度附近的区域。

或甚至使用我的应用程序内的地图部件?

尽管您可以将MapView集成到您的应用中,但它不会使用此缓存数据。部分原因是,这是因为MapView代码早于任何这种缓存内容。部分原因是,这是因为缓存数据由另一个进程(地图应用程序)拥有,因此您无法访问。

+0

我没有看到geo:intent支持任何标记或覆盖。否则,触发地图应用程序似乎工作,当然用户将不得不先下载数据:) –

+0

@HeikoRupp:“我看不到地理:意图支持任何标记或覆盖” - 正确。如果你想在地图上绘图,你需要'MapView',在这种情况下你会失去离线缓存。或者,切换到其他提供自己缓存的映射解决方案(例如,OpenStreetMap和OSMDroid)。 – CommonsWare

+0

我知道OSM,但实际上这意味着用户需要额外的步骤。看起来我/我们“只是”需要等待Google解决问题。 –

相关问题