鸿蒙开发:高德HarmonyOS地图SDK的快速入门(二)-实现地图的显示

当我们正确获取到高德地图鸿蒙版SDK的Key值之后,我们就可以通过这个Key值让APP的首页来显示地图。在鸿蒙APP项目中具体实现高德地图显示的步骤如下:

1.下载高德地图鸿蒙版SDK相关的".Har"包;

2.静态声明并配置相关的地图显示权限;

3.对地图相关的显示容器进行加载和初始化;

下面,我们一起来进行实际的操作,看看高德地图的鸿蒙版如何实现地图显示。

一.下载HarmonyOS地图SDK Beta版 示例代码,在APP项目中添加高德地图提供的Har源码包。

鸿蒙版的高德地图想要在手机上进行正常显示,我们肯定要使用它提供的Har源码包,这样可以更快地实现高德地图的显示。

鸿蒙开发:高德HarmonyOS地图SDK的快速入门(二)-实现地图的显示

高德地图SDK提供的har源码包

因为高德地图提供的第三方服务Har源码包有自带的地图容器、搜索等功能,包括地图中的坐标信息也可以从高德地图中的服务平台获取。

在鸿蒙APP项目中,如何才能添加高德地图提供的Har源码包?

1.进入高德地图开放平台,打开【开发支持】导航键,找到【其他】选项后,点击【HarmonyOS 地图SDK】,打开其管理界面;

鸿蒙开发:高德HarmonyOS地图SDK的快速入门(二)-实现地图的显示

点击点击“HarmonyOS 地图SDK”

2.在管理界面中,找到左侧导航栏中的【相关下载】并打开,我们在右侧的界面中下载第一个【Beta版本示例Demo】,因为相关的Har源码包都存放在此项目文件中;

鸿蒙开发:高德HarmonyOS地图SDK的快速入门(二)-实现地图的显示

下载“Beta版本示例Demo”

3.紧接着,我们把“.zip”后缀格式的Beta版本示例Demo进行解压,打开其项目文件夹,会发现相关的Har源码包都存放在libs目录中,直接用鼠标或触控板进行复制拷贝即可;

鸿蒙开发:高德HarmonyOS地图SDK的快速入门(二)-实现地图的显示

Har源码包都存放在libs目录中

4.将拷贝的Har源码包都粘贴到自己APP项目中的libs目录中,并在entry/src文件路径下的build.gradle配置文件中添加依赖;

鸿蒙开发:高德HarmonyOS地图SDK的快速入门(二)-实现地图的显示

将Har源码包粘贴到libs目录中

鸿蒙开发:高德HarmonyOS地图SDK的快速入门(二)-实现地图的显示

添加har包的依赖

5.若Har包添加成功,则APP项目中的External Libraries路径中会出现可被代码引用的Har资源包。

鸿蒙开发:高德HarmonyOS地图SDK的快速入门(二)-实现地图的显示

Har包添加成功

以上步骤,就是鸿蒙APP项目关于高德地图Har包的添加和引用。需要注意的地方是:在APP项目开发的过程中,若项目libs目录中的har源码包不能在Java类中被正常引用,可以关闭当前APP项目的编辑窗口。重新导入并打开APP项目之后,build.gradle配置文件会重新加载har源码包

二.在config.json配置文件中,静态声明显示高德地图的相关权限,以便高德地图在显示时获得相应的授权。

鸿蒙开发:高德HarmonyOS地图SDK的快速入门(二)-实现地图的显示

在config.json配置文件中,设置权限

设置相关权限的内容,如下:

"reqPermissions": [
      {
        "usedScene": {
          "ability": [
            "com.example.gaodetest.MainAbility"
          ],
          "when": "always"
        },
        "reason": "request internet",
        "name": "ohos.permission.INTERNET"
      }
    ]

上面设置的内容中,“ability”节点一定要设置为自己APP项目的文件路径。

三.开始进行高德地图的加载,通过相关的地图控件,我们创建地图并让它在手机中进行显示。

1.获取高德地图的Key值,可首先在Aplication中进行添加。

鸿蒙开发:高德HarmonyOS地图SDK的快速入门(二)-实现地图的显示

Key值

我们在高德开放平台的【我的应用】中复制Key值之后,在APP项目中的java文件夹中的MyApplocation中进行Key值的粘贴和相关代码编写。

鸿蒙开发:高德HarmonyOS地图SDK的快速入门(二)-实现地图的显示

在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.以上代码内容完成之后,我们可以直接进行真机测试,即可看到自己的华为手机显示高德地图,如下:

鸿蒙开发:高德HarmonyOS地图SDK的快速入门(二)-实现地图的显示

真机测试,显示高德地图

完成以上所有操作,我们今后就可以放心地进行高德地图SDK鸿蒙版的API调用,当然你们也可以整改成自己的产品内容业务也是可以的。

结语:

鸿蒙版APP项目要在设备中正常显示高德地图,首先要在项目中添加相应的har源码包,然后对其地图的显示进行授权,最后通过key值和MapView等控件来创建地图,并从高德地图平台的服务端能够获取相应的数据内容。

如果你们对上面的操作有一些疑惑,请你们踊跃参与评论,鸿蒙系统生态需要更多人来参与和建设,这是我们自己的开源项目。

展开阅读全文

页面更新:2024-05-07

标签:鸿蒙   地图   示例   初始化   控件   路径   源码   入门   加载   界面   权限   快速   代码   文件   项目   内容   数码   平台

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top