Skip to content

初始化地图

创建地图

有2种方式可以创建地图View

1. 通过布局文件

xml
<com.dmap.api.maps.MapView
    android:id="@id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</com.dmap.api.maps.MapView>

2. 通过代码初始化

java
MapView didiMapView = new MapView(context);

第二种方式提供更多灵活的配置,具体可参加API文档。

此外,要在Activity内实现完整的MapView的生命周期,让MapView来管理绘制逻辑,使其在后台的时候暂停绘制,结束时销毁地图等。不正确调用会造成内存泄漏等问题。

java
@Override
protected void onStop() {
    super.onStop();
    mapView.onStop();
}


@Override
protected void onPause() {
    super.onPause();
    mapView.onPause();
}

@Override
protected void onDestroy() {
    super.onDestroy();
    mapView.onDestroy();
}

@Override
protected void onStart() {
    super.onStart();
    mapView.onStart();
}

@Override
protected void onResume() {
    super.onResume();
    mapView.onResume();
}

获取DiMap对象

DiMap是对地图整体进行控制的接口类。可以通过其调整地图的中心点、俯仰角,创建Marker等基本操作。

java
// 滴图地图采用异步方式获取DiMap对象
didiMapView.getMap(new OnMapReadyCallback(){
        @Override
        public void onMapReady(DiMap diMap) {
            mDiMap = diMap;
            // 拿到DiMap后,进行后续的操作
        }
    });

此时,即完成了显示地图的工作了,效果如下图所示: