Google地图组件(com.google.android.gms.maps.GoogleMap)允许用户渲染自定义切片(OpenStreetMap或其他).这些磁贴可以在设备上并且可以脱机使用,这正是我通过扩展TileProvider所做的.与以下内容一起执行此操作:
mMap.setMapType(GoogleMap.MAP_TYPE_NONE);
Run Code Online (Sandbox Code Playgroud)
我没有从谷歌地图服务器中提取任何数据,并且可以合理地预期该组件可以在没有互联网连接的情况下工作.(我在此强调,我并不是要尝试缓存Google的数据 ;我正在使用独立于Google地图服务器的离线图块.)
我认为一切都很好,直到我意识到如果第一次执行设备离线时地图组件将无法工作.在这种情况下,我收到一条消息:
无法加载地图.无法联系谷歌服务器
我想这背后的原因是谷歌的API密钥需要我的应用程序进行身份验证才能允许组件执行.
谁能证实这是正确的?我真正想确定的是,如果组件在线执行一次,它将在之后运行正常.我必须确保没有超时问题需要组件稍后重新进行身份验证,这基本上会使我的应用程序无用.这需要我转向其他一些组件(例如OS Android).
任何关于此的亮点都将非常感激.甚至被指向我希望得到谷歌开发者的答复的渠道将是有用的.
谢谢