高德地图webview是什么版本(高德HarmonyOS地图SDK的快速入门)
当我们正确获取到高德地图鸿蒙版SDK的Key值之后,我们就可以通过这个Key值让APP的首页来显示地图。在鸿蒙APP项目中具体实现高德地图显示的步骤如下:
1.下载高德地图鸿蒙版SDK相关的".Har"包;
2.静态声明并配置相关的地图显示权限;
3.对地图相关的显示容器进行加载和初始化;
下面,我们一起来进行实际的操作,看看高德地图的鸿蒙版如何实现地图显示。
一.下载HarmonyOS地图SDK Beta版 示例代码,在APP项目中添加高德地图提供的Har源码包。鸿蒙版的高德地图想要在手机上进行正常显示,我们肯定要使用它提供的Har源码包,这样可以更快地实现高德地图的显示。
高德地图SDK提供的har源码包
因为高德地图提供的第三方服务Har源码包有自带的地图容器、搜索等功能,包括地图中的坐标信息也可以从高德地图中的服务平台获取。
在鸿蒙APP项目中,如何才能添加高德地图提供的Har源码包?
1.进入高德地图开放平台,打开【开发支持】导航键,找到【其他】选项后,点击【HarmonyOS 地图SDK】,打开其管理界面;
点击点击“HarmonyOS 地图SDK”
2.在管理界面中,找到左侧导航栏中的【相关下载】并打开,我们在右侧的界面中下载第一个【Beta版本示例Demo】,因为相关的Har源码包都存放在此项目文件中;
下载“Beta版本示例Demo”
3.紧接着,我们把“.zip”后缀格式的Beta版本示例Demo进行解压,打开其项目文件夹,会发现相关的Har源码包都存放在libs目录中,直接用鼠标或触控板进行复制拷贝即可;
Har源码包都存放在libs目录中
4.将拷贝的Har源码包都粘贴到自己APP项目中的libs目录中,并在entry/src文件路径下的build.gradle配置文件中添加依赖;
将Har源码包粘贴到libs目录中
添加har包的依赖
5.若Har包添加成功,则APP项目中的External Libraries路径中会出现可被代码引用的Har资源包。
Har包添加成功
以上步骤,就是鸿蒙APP项目关于高德地图Har包的添加和引用。需要注意的地方是:在APP项目开发的过程中,若项目libs目录中的har源码包不能在Java类中被正常引用,可以关闭当前APP项目的编辑窗口。重新导入并打开APP项目之后,build.gradle配置文件会重新加载har源码包。
二.在config.json配置文件中,静态声明显示高德地图的相关权限,以便高德地图在显示时获得相应的授权。
在config.json配置文件中,设置权限
设置相关权限的内容,如下:
"reqPermissions": [
{
"usedScene": {
"ability": [
"com.example.gaodetest.MainAbility"
],
"when": "always"
},
"reason": "request internet",
"name": "ohos.permission.INTERNET"
}
]
上面设置的内容中,“ability”节点一定要设置为自己APP项目的文件路径。
三.开始进行高德地图的加载,通过相关的地图控件,我们创建地图并让它在手机中进行显示。1.获取高德地图的Key值,可首先在Aplication中进行添加。
Key值
我们在高德开放平台的【我的应用】中复制Key值之后,在APP项目中的java文件夹中的MyApplocation中进行Key值的粘贴和相关代码编写。
在MyApplocation中获取Key值
具体代码如下:
import com.amap.api.maps.MapsInitializer;
import ohos.aafwk.ability.AbilityPackage;
public class MyApplication extends AbilityPackage {
//获取Key值
private String apiKey = "高德开放平台的key值";
@Override
public void onInitialize() {
super.onInitialize();
MapsInitializer.setApiKey(apiKey);
}
}
2.创建MapView控件对象,初始化地图并进行绘制。
根据地图的生命周期管理,我们需要在slice文件夹中的MainAbilitySlice类中进行地图的启动、初始化和停止等动作,代码内容如下:
import com.amap.api.maps.AMap;
import com.amap.api.maps.MapView;
import com.example.gaodetest.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.DirectionalLayout;
public class MainAbilitySlice extends AbilitySlice {
//创建地图控件
private MapView mapView;
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);
initMapView();
//初始化地图控制器对象
AMap aMap = mapView.getMap();
aMap.setOnMapLoadedListener(new AMap.OnMapLoadedListener() {
@Override
public void onMapLoaded() {
// todo
}
});
}
//初始化高德地图
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
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
//销毁地图方法
@Override
protected void onStop() {
super.onStop();
if (mapView != null) {
mapView.onDestroy();
}
}
}
3.以上代码内容完成之后,我们可以直接进行真机测试,即可看到自己的华为手机显示高德地图,如下:
真机测试,显示高德地图
完成以上所有操作,我们今后就可以放心地进行高德地图SDK鸿蒙版的API调用,当然你们也可以整改成自己的产品内容业务也是可以的。
结语:鸿蒙版APP项目要在设备中正常显示高德地图,首先要在项目中添加相应的har源码包,然后对其地图的显示进行授权,最后通过key值和MapView等控件来创建地图,并从高德地图平台的服务端能够获取相应的数据内容。
如果你们对上面的操作有一些疑惑,请你们踊跃参与评论,鸿蒙系统生态需要更多人来参与和建设,这是我们自己的开源项目。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com