你好,
我正在尝试让地图正常工作。在 Nexus 6 模拟器上它似乎可以很好地运行,但是当我在 Moto G 或者 Samsung Galaxy 上运行它时,地图完全是空白的,只有谷歌标志在右下角。
我已经生成了一个 google maps key 并将其放入 google_maps_api.xml 文件中。我需要生成 SHA-1 证书指纹吗? 如果是,我该如何执行?
查看答案:https://stackoverflow.com/a/33691443/5387193 但我不太理解这些说明。
这是我的日志: http://textuploader.com/52xzy
编辑1: 在 AndroidManifest.xml 中添加了一行。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
目前这个应用在我的Moto G手机上可以使用,但是在我的Samsung手机上却不能。我认为这是因为我还没有接受敏感信息权限(ACCESS_FINE_LOCATION)。
我正在开发的这个应用程序不需要知道用户的GPS位置,所以我实际上不需要这个敏感信息 - 有没有一种简单的方法来删除此功能和权限?
我认为这个权限是造成问题的原因。
编辑2: 我已经得到了代码:
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key" />
在我的AndroidManifest.xml文件中,
@string/google_maps_key
是我生成的正确密钥。我已经生成了SHA1指纹以获取此密钥,但需要在代码中放置该指纹吗?我还没有生成发布密钥,我认为这只是一个调试密钥。您觉得这可能是问题所在吗?
我将安装Google Play服务并查看其对此的影响。
第三个编辑: 在三星手机上卸载并重新安装Google Play服务后,现在它可以正常工作了。