0

我无法让 google maps api v2 在我的 Android Xamarin 应用程序中显示除空白屏幕之外的任何内容。

在 logcat 中,我收到以下错误。

07-08 16:08:12.192: E/Google Maps Android API(28625): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).

这让我相信这是我的 API 密钥的问题。我不知道我错过了什么。这是我的 AndroidManifest.xml。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" android:versionCode="2" android:versionName="2.0.0.0" package="com.deg.blubcnmobl.droid">
    <uses-sdk android:targetSdkVersion="12" />
    <uses-feature android:glEsVersion="0x00020000" android:required="true" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <permission android:name="com.deg.blubcnmobl.droid.permission.MAPS_RECEIVE" android:protectionLevel="signature" />
    <uses-permission android:name="com.deg.blubcnmobl.droid.permission.MAPS_RECEIVE" />
    <application android:icon="@drawable/logo" android:debuggable="true" android:enabled="true" android:persistent="false" android:allowClearUserData="true" android:theme="@android:style/Theme.Black.NoTitleBar">
        <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="MY_KEY" />
    </application>
</manifest>

这是我的活动 axml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<fragment
    class="com.google.android.gms.maps.SupportMapFragment"
    android:id="@+id/mapfragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
</LinearLayout>

我在 API 设置中打开了 Google Maps Api V2 Android。

伊姆古尔

这是我创建 API 密钥的页面。

伊姆古尔

4

4 回答 4

3

确保将这些权限添加到清单

<permission
    android:name="com.deg.blubcnmobl.droid.permission.MAPS_RECEIVE"
    android:protectionLevel="signature"/>
<uses-permission android:name="com.deg.blubcnmobl.droid.permission.MAPS_RECEIVE"/>
于 2013-07-08T23:13:03.197 回答
0

您的清单中似乎缺少许多权限。

  • 能够在 API 级别 8 及更高级别上运行的 Maps V2 示例清单

https://github.com/ddewaele/GoogleMapsV2WithActionBarSherlock/blob/master/GoogleMapsV2SkeletonV8/AndroidManifest.xml

  • 能够在 API 级别 8 及更高级别上运行的 Maps V2 示例布局

https://github.com/ddewaele/GoogleMapsV2WithActionBarSherlock/blob/master/GoogleMapsV2SkeletonV8/res/layout/activity_main.xml

  • 能够在 API 级别 8 及更高级别上运行的 Maps V2 示例活动

https://github.com/ddewaele/GoogleMapsV2WithActionBarSherlock/blob/master/GoogleMapsV2SkeletonV8/src/com/example/googlemaps/v2/skeleton/api8/MainActivity.java

您可以克隆上面的 git 存储库并尝试完整的 GoogleMapsV2SkeletonV8 应用程序。

于 2013-07-08T22:28:20.850 回答
0

请检查这篇文章:Google Map Android Api V2 Sample Code not working,如果您完全确定您做了正确的步骤并且仍然看到空白屏幕然后按照第二个答案,身份验证被缓存在某处,请尝试手动卸载应用程序(就像您对普通应用程序所做的那样)然后再次“运行”该项目。

于 2013-09-30T07:52:10.610 回答
0

我已经在https://forums.xamarin.com/discussion/26058/google-map-is-showing-a-blank-screen-in-android给出了答案

于 2015-06-13T10:15:04.060 回答