Google地图组件(com.google.android.gms.maps.GoogleMap)允许用户渲染自定义切片(OpenStreetMap或其他)。这些磁贴可以在设备上并且可以脱机使用,这正是我通过扩展TileProvider所做的。与a:
一起执行此操作mMap.setMapType(GoogleMap.MAP_TYPE_NONE);
我没有从谷歌地图服务器中提取任何数据,并且可以合理地预期该组件在没有互联网连接的情况下工作。 (我在此强调我不是要缓存Google的数据;我正在使用独立于Google地图服务器的离线图块。)
我认为一切都很好,直到我意识到如果第一次执行时,地图组件将无效,设备将处于脱机状态。在这种情况下,我收到一条消息:
无法加载地图。无法联系谷歌服务器
我想这背后的原因是谷歌的API密钥需要我的应用程序进行身份验证才能允许组件执行。
任何人都可以确认这是正确的吗?我真正想确定的是,如果组件在线执行一次,它将在之后运行正常。我必须确保没有超时问题需要组件稍后重新进行身份验证,这基本上会使我的应用程序无用。这需要我转向其他组件(例如OS Android)。
对此的任何启示都将不胜感激。即使被指向我希望得到谷歌开发者回复的渠道也会很有用。
由于
答案 0 :(得分:8)
截至3.0.27的Google Play服务APK已修复,只需与服务器联系一次。您每次都会在logcat中看到错误,但它会起作用。
更多信息: http://code.google.com/p/gmaps-api-issues/issues/detail?id=4817
在这里: http://code.google.com/p/gmaps-api-issues/issues/detail?id=5017