我使用Xamarin表单创建了一个跨平台的应用程序。在Mac Book Pro(el-Capitan)上 我需要在其中使用地图,因此使用Xamarin.Forms.Maps 我的清单文件如下
我使用SHA1签名在Google Developers Console上生成了一个API密钥。在Mac上我使用了以下命令
keytool -genkey -alias ftpKey -keystore privateKey.store
keytool -list -v -keystore privateKey.store
这给了我SHA1键
对于包名,我使用了与com.xrmlabs.submyclass包中给出的完全相同的名称。
地图生成代码如下:
这是物理设备(API级别22)以及Xamarin Android Emulator(API级别16)的输出。一切都处于调试模式
我已经使用了定位器服务,因为代码很明显,但我现在已经删除它以保持简单。 当我运行应用程序时,没有错误。
因为这是我的第一个应用程序,我可能会采用错误的方式。我已经完成了以下答案 Android Studio - Google map still blank on real Android device
答案 0 :(得分:0)
尝试在AndroidManifest中的API KEY元数据下添加此代码:
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
答案 1 :(得分:0)
很少有事情可以造成这种问题 1.检查系统和设备的日期和时间是否正确 2.检查[https://console.developers.google.com]中的Google地图API是否已启用 3.如果您更改了项目的java版本或路径,它会创建新的SHA1指纹并与旧版本冲突,因此即使在 工具&gt;选项&gt; Xamarin&gt; Android选项&gt; Java keytool path。 以及在我的计算机的环境变量中设置的路径 因为它有时会因SHA1指纹而显示身份验证错误。还可以在运行应用程序时检查输出窗口,它会准确地告诉您出错的地方。如果需要,你可以尝试创建新的api密钥,不要忘记将它添加到清单文件中。
答案 2 :(得分:0)
我已通过在Google控制台中将我的项目配置为启用来解决此问题 Android版Places SDK 和 Android版Maps SDK
等待几分钟,然后弹出!