Xamarin - Android 谷歌地图显示空白网格:地图无法加载

3

我创建了一个带有4个选项卡的应用程序。在一个子活动中,我需要在点击按钮后显示Google地图。

我正在使用Xamarin.GooglePlayservices.Maps NuGet包解决方案

我已经按照要求的步骤生成了API密钥。 我已经在API控制台中启用了Google Maps Android API v2。 在我的清单文件中也有所有必需的权限。 但不知道出了什么问题。这是我的代码片段。

我的地图活动

[Activity (Label = "MapViewActivity")]
public class MapViewActivity : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.upcoming_exits_mapview);
}
}

upcoming_exits_mapview.axml

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.MapFragment" />

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.mypackage">
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="21" />

<uses-feature android:glEsVersion="0x00020000" android:required="true" />

 <!-- Google Maps for Android v2 will cache map tiles on external storage -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<permission android:name="com.mypackage.permission.MAPS_RECEIVE" android:protectionLevel="signature" />
<uses-permission android:name="com.mypackage.permission.MAPS_RECEIVE" />

<application android:name="RBApplication" android:theme="@android:style/Theme.Light.NoTitleBar" android:label="RoadBrake" android:icon="@drawable/app_icon">
    <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="xxxxxxxxxxxxxxx-wupcG-pyzIwP2FPkc" />
    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
</application>


你是如何为你的应用进行签名的?请确保你使用的密钥库与你告诉开发者控制台使用的签名相匹配。如果你是使用 Xamarin 提供的调试密钥库签名你的应用,那么你会看到一个空的网格。 - Cheesebaron
我尝试按照你的建议使用签名密钥库。这是应用程序的第二个版本,因此我从开发者控制台中使用了先前版本的API密钥。但结果仍然相同,它显示空白网格。@Cheesebaron - Satyasarathi
最终成功显示地图,但仍未达到100%的效果。
  1. 在开发者控制台中为先前版本重新生成了API KEY。
  2. 现在当出现空白网格时,触摸屏幕会显示地图。
有人能建议这是怎么回事吗????
- Satyasarathi
这是在哪个设备上? - Cheesebaron
Nexus 4和Nexus 5也是如此。 - Satyasarathi
1个回答

0

终于解决了问题!这是选项卡应用程序的问题。尝试在选项卡之外显示地图视图,它可以正常工作。但在选项卡内,一些功能在Android上无法按预期工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接