Android Google Map 开发步骤 & 地图展示空白问题

年初时候开发了一版Google Map 地图展示店铺地址并标注点击详情,当初完整的上线Google Play 之后就没有关注过。

最近开发都有点忘记了重新梳理了一次后使用原版代码。新应用使用原版代码就是展示地图空白,但是有Google logo;寻思试了很多了后发现上线Google Play下载来都无法正常展示。半年多了~没人提吗?

具体原因就是因为忘替换Google Map AppKey …

而且上线Google Play 商店会有一个新的 应用凭证签署凭证,与打包上传Release 版凭证是有区别的。在Google Play 发布后使用 地图管理配置的 AppKey 的SHA1值 需要使用这个才能正常展示!!

最主要的是我没有开启这个Google Map API服务!没有启用!没有启用!坑我半天。

以下几个流程,最实在的就是看官方SDK了,查看官方的栗子一顿狂撸!

1、查看入门 [Android的Maps SDK]

2、将Google Play服务添加到Android Studio。

3、获取Google Maps API密钥

4、启用Google Cloud Platform 云平台的API和服务

5、官方栗子

6、上架Google Play 展示空白问题

1、查看入门 Android的Maps SDK

栗子使用官方Demo 必备,一般就是先玩玩Demo 查看你想要的功能再进行移植定制等

android-maps-utils

android-samples

2、将Google Play服务添加到Android Studio。

进去查看 最新的地图服务版本依赖,添加至build.gradle
Google Maps Description in build.gradle

   /* Google Map*/
    implementation 'com.google.android.gms:play-services-maps:16.0.0'

3、获取Google Maps API密钥

要去Google APIs 管理平台创建一个工程项目,创建凭证 申请配置 API KEY

### 4、启用Google Cloud Platform 云平台的API和服务 切记别忘记开启,否则你对应账号项目中配置的APPKEY 没有开启服务 根本在应用上看不到地图!显示空白!

5、官方栗子

申请之后的 Key 放入 AndroidManifest.xml 文件中

  <!-- Google Map Key -->
       <meta-data
           android:name="com.google.android.geo.API_KEY"
           android:value="AIzaSyCtAVjIVmGdnP44W2Nk8DjCT_OJISYUVxA" />


Java 代码

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

    private GoogleMap mMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }


    @Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;

        // Add a marker in Sydney and move the camera
        LatLng sydney = new LatLng(-34, 151);
        mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
        mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
    }
}


XML

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:map="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:id="@+id/map"
  android:name="com.google.android.gms.maps.SupportMapFragment"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context="com.thisfeng.googlemaps.MapsActivity" />

以上来自官方栗子

6、上架Google Play 展示空白问题

上架后 要注意 使用 配置 商店配置的 SHA1值, 建议配置 debug + release + 上传后的 SHA1值 一起配置 ,否则展示空白滴!

所以一般不显示地图的问题, 要么是 APPKEY 配置 SHA1值的问题,要么就是没有启用地图 API 。

发布了26 篇原创文章 · 获赞 19 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/a23006239/article/details/83418746