DevEco studio配置
1.deveco studio中新建项目
2.下载高德地图sdk
下载链接:相关下载-HarmonyOS 地图SDK | 高德地图API
3.把下载的sdk文件放在工程的libs目录下
4.在鸿蒙应用中引用依赖并同步到项目中
同步之后在ExternalLibraries中就可以看到引用的依赖了
高德地图控制台配置
1.控制台新建一个应用,控制台地址
key名称自取。
AppId获取方法:
在MainAbility.java的onStart方法中添加如下代码:
try {
String AppId = getBundleManager().getBundleInfo(getBundleName(),0).getAppId();
HiLog.info(label,AppId);
} catch (RemoteException e) {
e.printStackTrace();
}
在Hilog窗口中即可查看到AppId。
代码编写
1.在config,json中配置权限
"reqPermissions": [
{
"usedScene": {
"ability": [
"com.example.harmonysearchsdk.MainAbility"
],
"when": "always"
},
"reason": "request internet",
"name": "ohos.permission.INTERNET"
}
]
2.在代码中设置申请的Key,放到Application的初始化之中
MapsInitializer.setApiKey("String apikey");
apiKey 在高德官网上申请的apiKey
3. MainAblitySlice.java代码
public class MainAbilitySlice extends AbilitySlice {
private MapView mapView;
private AMap aMap;
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);
initMap();
}
private void initMap(){
mapView = new MapView(this);
mapView.onCreate(null);
mapView.onResume();
ComponentContainer.LayoutConfig layoutConfig = new ComponentContainer.LayoutConfig(
ComponentContainer.LayoutConfig.MATCH_PARENT,ComponentContainer.LayoutConfig.MATCH_PARENT
);
mapView.setLayoutConfig(layoutConfig);
super.setUIContent(mapView);
aMap = mapView.getMap();
aMap.setOnMapLoadedListener(new AMap.OnMapLoadedListener() {
@Override
public void onMapLoaded() {
}
});
}
@Override
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
@Override
protected void onStop() {
if(mapView != null){
mapView.onDestroy();
}
}
}