Xamarin在模拟器和设备上构建项目空白谷歌地图

时间:2016-03-18 09:54:48

标签: android google-maps xamarin.forms

我使用Xamarin表单创建了一个跨平台的应用程序。在Mac Book Pro(el-Capitan)上 我需要在其中使用地图,因此使用Xamarin.Forms.Maps 我的清单文件如下     Manifest file

我使用SHA1签名在Google Developers Console上生成了一个API密钥。在Mac上我使用了以下命令

keytool -genkey -alias ftpKey -keystore privateKey.store

keytool -list -v -keystore privateKey.store

这给了我SHA1键

对于包名,我使用了与com.xrmlabs.submyclass包中给出的完全相同的名称。

地图生成代码如下:

constructor of tabbed page

这是物理设备(API级别22)以及Xamarin Android Emulator(API级别16)的输出。一切都处于调试模式

Output on Emulator

我已经使用了定位器服务,因为代码很明显,但我现在已经删除它以保持简单。 当我运行应用程序时,没有错误。

因为这是我的第一个应用程序,我可能会采用错误的方式。我已经完成了以下答案 Android Studio - Google map still blank on real Android device

Android: Blank page when using google map api 2

3 个答案:

答案 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

等待几分钟,然后弹出!