用getMapAsync替换getMap

我想替换已弃用的getMap方法getMapAsync,但我没有使用,MapFragment但是GoogleMap像这样:


private GoogleMap googleMap;

@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_map);


    try {

        if(googleMap == null) {

            googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();

        }

        googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);

        googleMap.setMyLocationEnabled(true);

        googleMap.setTrafficEnabled(true);

        googleMap.setIndoorEnabled(true);

        googleMap.setBuildingsEnabled(true);

        googleMap.getUiSettings().setZoomControlsEnabled(true);

如果我更换googleMap与MapFragment这样我不能再对setMapType等。那么我怎么能改变getMapAsync我的情况呢?


MapFragment mapFragment = (MapFragment) getFragmentManager()

            .findFragmentById(R.id.map);

    mapFragment.getMapAsync(this);


蛊毒传说
浏览 697回答 3
3回答

慕村9548890

如果使用MapFragment,仍可以使用stMapType方法。在您的活动上实现OnMapReadyCallback。创建MapFragment并在该对象上调用getAsyncMap方法。它会要求您在MapReady(GoogleMap地图)方法中使用,您可以设置地图类型等。希望能帮助到你。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android