年初時候開發(fā)了一版Google Map 地圖展示店鋪地址并標(biāo)注點(diǎn)擊詳情染苛,當(dāng)初完整的上線Google Play 之后就沒有關(guān)注過梭域。
最近開發(fā)都有點(diǎn)忘記了重新梳理了一次后使用原版代碼。新應(yīng)用使用原版代碼就是展示地圖空白,但是有Google logo;尋思試了很多了后發(fā)現(xiàn)上線Google Play下載來都無法正常展示。半年多了~沒人提嗎耿戚? - - ?具體原因就是因?yàn)橥鎿QGoogle Map AppKey ...
而且上線Google Play 商店會有一個新的 應(yīng)用憑證簽署憑證阿趁,與打包上傳Release 版憑證是有區(qū)別的膜蛔。在Google Play 發(fā)布后使用 地圖管理配置的 AppKey 的SHA1值 需要使用這個才能正常展示!脖阵!
最主要的是我沒有開啟這個Google Map API服務(wù)皂股!沒有啟用!沒有啟用命黔!坑我半天呜呐。
以下幾個流程,最實(shí)在的就是看官方SDK了悍募,查看官方的栗子一頓狂擼蘑辑!
1、查看入門 [Android的Maps SDK]
2坠宴、將Google Play服務(wù)添加到Android Studio洋魂。
3、獲取Google Maps API密鑰
4喜鼓、啟用Google Cloud Platform 云平臺的API和服務(wù)
5副砍、官方栗子
6、上架Google Play 展示空白問題
1豁翎、查看入門 Android的Maps SDK
栗子使用官方Demo 必備,一般就是先玩玩Demo 查看你想要的功能再進(jìn)行移植定制等
android-maps-utils
android-samples
2顿锰、將Google Play服務(wù)添加到Android Studio谨垃。
進(jìn)去查看 最新的地圖服務(wù)版本依賴启搂,添加至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 管理平臺創(chuàng)建一個工程項(xiàng)目,創(chuàng)建憑證 申請配置 API KEY
4胳赌、啟用Google Cloud Platform 云平臺的API和服務(wù)
切記別忘記開啟牢撼,否則你對應(yīng)賬號項(xiàng)目中配置的APPKEY 沒有開啟服務(wù) 根本在應(yīng)用上看不到地圖!
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 曲横。