我在Android應用上使用Google地圖。一個gradle這個之前谷歌的新版本播放它與下面的代碼服務來獲得片段:谷歌地圖.getMap()已棄用
GoogleMap googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
因爲我更新到9.2.1版本,該.getMap()爲紅色(不推薦)。是否有新的做法來聲明片段?
謝謝你的迴應?
我在Android應用上使用Google地圖。一個gradle這個之前谷歌的新版本播放它與下面的代碼服務來獲得片段:谷歌地圖.getMap()已棄用
GoogleMap googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
因爲我更新到9.2.1版本,該.getMap()爲紅色(不推薦)。是否有新的做法來聲明片段?
謝謝你的迴應?
您應該將getMap()替換爲getMapAsync()。
根據官方文檔,獲取地圖異步需要回調,這是喲做主要谷歌地圖的東西。看看下面的代碼片段。
public class MapPane extends Activity implements OnMapReadyCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_activity);
MapFragment mapFragment = (MapFragment) getFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap map) {
//DO WHATEVER YOU WANT WITH GOOGLEMAP
map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
map.setMyLocationEnabled(true);
map.setTrafficEnabled(true);
map.setIndoorEnabled(true);
map.setBuildingsEnabled(true);
map.getUiSettings().setZoomControlsEnabled(true);
}
}
希望這可以幫助你。
getMapAsync()
看起來很合身。你將不得不調整你的實現。該調用是異步的,你不會立即擁有地圖。另一方面,當你開始使用地圖時,你將不會遇到問題。
非常感謝。有用! –