Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android getMap()和getMapAsync()之间的差异_Android_Google Maps - Fatal编程技术网

Android getMap()和getMapAsync()之间的差异

Android getMap()和getMapAsync()之间的差异,android,google-maps,Android,Google Maps,我在mapview中使用getMapAsync而不是getMap。但是,我想知道getMap和getMapAsync之间的区别。因此,应该使用getMapAsync,因为它会等待映射正确初始化并通过回调提供映射实例 public class MapActivity extends Activity implements OnMapReadyCallback { @Override protected void onCreate(Bundle savedInstanceState

我在mapview中使用getMapAsync而不是getMap。但是,我想知道getMap和getMapAsync之间的区别。

因此,应该使用getMapAsync,因为它会等待映射正确初始化并通过回调提供映射实例

public class MapActivity extends Activity implements OnMapReadyCallback {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map_activity);

        MapFragment mapFrag = (MapFragment) getFragmentManager()
                .findFragmentById(R.id.map);
        mapFrag.getMapAsync(this);
    }

    @Override
    public void onMapReady(GoogleMap map) {
        // Place your logic here
        map.setIndoorEnabled(true);
        map.setBuildingsEnabled(true);
        map.getUiSettings().setZoomControlsEnabled(false);
    }
}

getMapAsync允许在映射为init时使用回调

getMap不推荐使用

设置一个回调对象,当GoogleMap实例准备好使用时将触发该对象

请注意:

必须从主线程调用此方法

回调将在主线程中执行

如果用户设备上未安装Google Play服务,则在用户安装之前不会触发回调

在谷歌地图创建后立即销毁的罕见情况下,不会触发回调

回调提供的GoogleMap对象为非空


我想你应该读一下这个链接你看不懂?比如,文件?