Google Maps API MapView未完全加载

时间:2019-01-18 19:42:52

标签: android api google-maps xamarin google-play

当我打开我的应用程序时,MapView唯一显示的是世界地图(其中的一部分)加载非常缓慢。分辨率低,我无法放大并看到长条纹,道路等。基本上,所有内容都只是像素化,当我放大地图甚至不加载时,我只能看到网格。

我尝试了很多事情,但没有任何效果。有什么建议吗?

  • 我多次检查API密钥,甚至生成了一个新密钥。
  • 我确实限制了我的密钥。
  • 我已授予所有必需的权限。

This is my app, when I zoom in, it stays pixelated

我很确定我的代码很好,但是我还是会发布它。

//The map code
        public void LoadMap()
        {
            if (IsGoogleApiAvailabe())
            {
                MapFragment mMapFragment = MapFragment.NewInstance();
                FragmentTransaction fragmentTransaction = FragmentManager.BeginTransaction();
                fragmentTransaction.Add(Resource.Id.fragment_container, mMapFragment);
                fragmentTransaction.Commit();
                mMapFragment.GetMapAsync(this);
            }
        }
//Manifest File
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
          android:versionCode="1" 
          android:versionName="1.0" 
          package="com.example.android.porject">
  <permission
         android:name="com.example.android.PCP.permission.MAPS_RECEIVE"
         android:protectionLevel="signature" />

  <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="27" />

  <uses-permission android:name="android.permission.VIBRATE" />
  <uses-permission android:name="com.example.android.PCP.permission.MAPS_RECEIVE" />
  <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.ACCESS_COARSE_LOCATION"/>
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
  <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

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


  <application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="P.C.P" 
    android:roundIcon="@mipmap/ic_launcher_round" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme">

    <meta-data
      android:name = "com.google.android.maps.v2.API_KEY"
      android:value = "@string/GoogleKey" />
    <meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

  </application>
</manifest>

我想念什么?

1 个答案:

答案 0 :(得分:0)

由于某种原因,系统说“我们将不再接受此帐户的答案。您能否也将其发布为答案?我将对其进行验证:::显然,这一次我一直使用错误的SHA-1不要犯此错误:出于某种原因,Android Studio Google Maps项目中的SHA-1是错误的-正如大多数Google Maps教程中所述,这是获取此指纹的最简单方法。指纹:

  1. 在VS的调试输出窗口中,在调试应用程序时,在输出窗口中的以下指令下方搜索“密钥库证书”:授权失败。请参阅developers.google.com/maps/documentation/android-api/start了解如何正确设置地图。在Google Developer Console(console.developers.google.com)中,确保已启用“ Google Maps Android API v2”。确保存在以下Android密钥:{KEY}“。

  2. 我还没有尝试过此选项,但是使用以下命令来获取指纹:: keytool -list -v -keystore mystore.keystore