高德地图SDK适配HarmonyOS显示地图

高德地图SDK适配HarmonyOS显示地图

使用地图SDK之前,需要在config.json文件中进行相关权限设置,确保地图功能可以正常使用。

第一步,配置config.json

首先,声明权限

第二步,向工程中添加地图开发包

将har包放入libs目录下,依次添加依赖。

JAVA
dependencies {
    implementation files("libs/xxx.har")
    //...
}

或者直接使用引入libs下所有har包的方式:

JAVA
dependencies {
  implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
    //...
}

第三步,初始化地图容器

首先,设置Key

获取Key方式:https://lbs.amap.com/api/harmonyos-sdk/guide/get-key

XML
MapsInitializer.setApiKey("您的key");

然后,创建MapView

JAVA
public class BasicMapDemoSlice extends Ability {

    private MapView mapView;

    @Override
    protected void onStart(Intent intent) {
        super.onStart(intent);
        initMapView();
    }

    private void initMapView() {
        mapView = new MapView(this);

        mapView.onCreate(null);
        mapView.onResume();
        DirectionalLayout.LayoutConfig config = new DirectionalLayout.LayoutConfig(
                DirectionalLayout.LayoutConfig.MATCH_PARENT, DirectionalLayout.LayoutConfig.MATCH_PARENT);
        mapView.setLayoutConfig(config);
        super.setUIContent(mapView);
    }

    @Override
    protected void onStop() {
        super.onStop();
        if (mapView != null) {
            mapView.onDestroy();
        }
    }
}

最后,初始化地图并获取AMap对象

JAVA
AMap aMap = mapView.getMap();
aMap.setOnMapLoadedListener(new AMap.OnMapLoadedListener() {
    @Override
    public void onMapLoaded() {
    // todo
    }
});

至此就可以看到地图展示,并且拿到了AMap对象后,就可以往地图上添加点线面等覆盖物。

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x