显示地图 最后更新时间: 2021年08月24日
使用地图SDK之前,需要在config.json文件中进行相关权限设置,确保地图功能可以正常使用。
第一步,配置config.json
首先,声明权限
...
"reqPermissions": [
{
"usedScene": {
"ability": [
"com.example.harmonysearchsdk.MainAbility"
],
"when": "always"
},
"reason": "request internet",
"name": "ohos.permission.INTERNET"
}
]
...
第二步,向工程中添加地图开发包
将har包放入libs目录下,依次添加依赖。
dependencies {
implementation files("libs/xxx.har")
//...
}
或者直接使用引入libs下所有har包的方式:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
//...
}
第三步,初始化地图容器
首先,设置Key
获取Key方式:https://lbs.amap.com/api/harmonyos-sdk/guide/get-key
MapsInitializer.setApiKey("您的key");
然后,创建MapView
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对象
AMap aMap = mapView.getMap();
aMap.setOnMapLoadedListener(new AMap.OnMapLoadedListener() {
@Override
public void onMapLoaded() {
// todo
}
});
至此就可以看到地图展示,并且拿到了AMap对象后,就可以往地图上添加点线面等覆盖物。