年初时候开发了一版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 。