首页 > 解决方案 > GoogleMap onMapReady 触发良好,但未在应用程序上显示

问题描述

我有 api 密钥,我认为我编码得很好,但没有显示......

在应用程序上,谷歌地图片段如下所示 https://imgur.com/3XtZBgw

在 Java 文件上

 public static GoogleMap map;

onCreate(){

...
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                    .findFragmentById(R.id.maps);
            mapFragment.getMapAsync(this);
//and it fires overrided onMapReady function

}

@Override
    public void onMapReady(final GoogleMap googleMap) {
        Log.e("dialog","on map ready");
        Log.e("dialog",googleMap.toString());
        map = googleMap;
        map.setOnMarkerClickListener(this);

 map.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
            @Override
            public void onMapClick(LatLng arg0) {
                Log.e("dialog","map clicked"+arg0.toString());

            }
        });
}

在 main.xml 上

<fragment
    android:id="@+id/maps"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_gravity="center_horizontal|top" />

标签: android

解决方案


有以下地图不工作的可能性,请验证并检查它,

  • 如果您的 API 密钥已通过验证,则验证您的 SHA 密钥并在凭证部分添加最新密钥打开密钥部分
  • 验证您在AndroidManifest.xml文件中添加了 map api 密钥,如下所示
    <meta-data  android:name="com.google.android.maps.v2.API_KEY"
     android:value="Your API KEY" />
    
  • 验证是Map SDK for Android Enabled与否
  • 同样在验证了上述所有步骤之后,也无法正常工作。

    请尝试重新安装您的应用程序。


推荐阅读