我在更新我的SDK 今天之前有工作代碼(供將來參考看問題日期)。 .getMap
用於給出已過時的警告,但現在它甚至不被認爲是有效的輸入。我認爲這是由於API 24(Android Nougat)的新發布而發生的。事不宜遲,這裏的代碼:如何使我的項目與getMapAsync兼容?
private boolean initMap() {
if (mMap == null) {
MapFragment mapFrag =
(MapFragment) getFragmentManager().findFragmentById(R.id.map);
mMap = mapFrag.getMapAsync();
}
return (mMap != null);
}
如果有人可以幫我修改整合.getMapAsync()
我真的很感激它。
謝謝!
更新:這是看着答案的建議後,新的和更新的代碼(這不是在OnCreate) -
private boolean initMap() {
if (mMap == null) {
MapFragment mapFrag = (MapFragment) getFragmentManager()
.findFragmentById(R.id.map);
mapFrag.getMapAsync(this);
}
return (mMap != null);
}
@Override
public void onMapReady(GoogleMap googleMap) {
if (googleMap != null) {
mMap = googleMap;
}
}
你試過什麼嗎?你可以參考文檔並嘗試一下,看看會發生什麼? – nasch
@nasch我試圖在空括號中添加'(GoogleMaps googlemaps)',但它不起作用。 – petnamedsteve
你爲什麼這樣做?文檔說要傳入一個'OnMapReadyCallback',而不是'GoogleMap'。 – nasch