【发布时间】:2017-04-26 09:03:08
【问题描述】:
我一直在关注:
和
为了在安卓应用中使用谷歌地图。而且我根本无法在我的应用程序中显示地图。它总是显示一个空白页。我也没有看到任何错误。
我有:
- 为我的 android 清单添加了必要的权限
- 在线启用api页面中的API。
- 添加了基于使用本地调试密钥库的凭据
- 在我的主要活动页面上添加了地图作为地图片段。
网上的一切都指向调试密钥不正确,但我一定已经用这个尝试了所有我能做的事情,但它仍然不起作用。它会以某种方式选择不同的吗?
另外,我不确定它的重要性,但是当我尝试访问它时,mapfragment 在恢复时总是为空。
密钥库命令:
keytool -list -v -keystore "C:\Users\<My User folder>\AppData\Local\Xamarin\Mono for Android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
清单中的权限(隐藏 AppName 和密钥):
<!-- Google Maps for Android v2 requires OpenGL ES v2 -->
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
<!-- We need to be able to download map tiles and access Google Play Services-->
<uses-permission android:name="android.permission.INTERNET" />
<!-- Allow the application to access Google web-based services. -->
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<!-- Google Maps for Android v2 will cache map tiles on external storage -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Google Maps for Android v2 needs this permission so that it may check the connection state as it must download data -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Permission to receive remote notifications from Google Play Services -->
<!-- Notice here that we have the package name of our application as a prefix on the permissions. -->
<permission android:name="APPNAME.permission.MAPS_RECEIVE" android:protectionLevel="signature" />
<uses-permission android:name="APPNAME.permission.MAPS_RECEIVE" />
<!-- These are optional, but recommended. They will allow Maps to use the My Location provider. -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application android:label="<app name>">
<!-- Put your Google Maps V2 API Key here. -->
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="MYKEY" />
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
</application>
主要活动内容:
<?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" />
【问题讨论】:
标签: c# android google-maps xamarin