30 Map kit地图实现

首先完成指纹配置,才能进行开发工作

配置 Client ID

  1. 登录AppGallery Connect平台,在“我的项目”中选择目标应用,获取“项目设置 > 常规 > 应用”的Client ID。注意,需要获取应用的Client ID,而不是项目的Client ID。
  2. 在工程中entry模块的module.json5文件中,新增metadata,配置name为client_id,value为上一步获取的Client ID的值.

开通地图服务

在AGC网站中,找到我的项目;在项目列表中选择需要地图服务的项目,在项目下的应用列表中选择需要打开地图服务的应用;选择API管理,找到地图服务开关,打开开关。

渲染地图组件开发步骤:

  1. 导入Map Kit相关模块
  2. 新建地图初始化参数mapOption,设置地图中心点坐标及层级。
  3. 通过callback回调的方式获取MapComponentController对象,用来操作地图。
  4. 调用MapComponent组件,传入mapOption和callback参数,初始化地图
  5. 属性:

1. mapType地图类型:

  • STANDARD:标准地图,展示道路、建筑物以及河流等重要的自然特征。
  • NONE:空地图,没有加载任何数据的地图。
  • TERRAIN:地形图

2. myLocationControlsEnabled展示我的位置按钮。

获取我的位置

  1. 获取用户定位:方式一:申请ohos.permission.LOCATION(允许应用在前台运行时获取位置信息)和ohos.permission.APPROXIMATELY_LOCATION(允许应用获取设备模糊位置信息)权限,您需要在module.json5配置文件中声明所需要的权限,方式二: 使用安全控件LocationButton
  2. 初始化地图并获取MapComponentController地图操作类对象。
  3. 调用mapController对象的setMyLocationEnabled方法启用“我的位置”功能。
    1. 如果是通过方式一申请用户定位权限,建议在获得用户授权后开启“我的位置”功能。
    2. 如果是通过方式二申请用户定位权限,可以在点击安全控件后打开地图,并开启“我的位置”功能
  1. 在启用了该功能后,“我的位置”按钮

    默认显示在地图的右下角,效果如下图所示。点击“我的位置”按钮

    ,将会在屏幕中心显示当前定位,以蓝色圆点的形式呈现(效果根据获取到的用户位置会有变化)
  2. Map Kit默认使用系统的连续定位能力,如果您希望定制显示频率或者精准度,可以
    1. // 获取用户位置坐标 let location = await geoLocationManager.getCurrentLocation();
    2. // 设置用户的位置 this.mapController.setMyLocation(location);

地址转换

地理编码与逆地理编码功能 : 进行坐标和地理编码信息的相互转化

开发步骤:

  1. 导入geoLocationManager模块
  2. 调用isGeoServiceAvailable查询地理编码与逆地理编码服务是否可用
  3. 获取转化结果
    1. 调用getAddressesFromLocation,把坐标转化为地理位置信息
    2. 调用getAddressesFromLocationName把位置描述转化为坐标

导航路径规划

  1. 路径规划:提供两点之间步行、骑行、驾车的路径规划能力。其中驾车路径规划支持添加途径点
    1. 调用getDrivingRoutes方法进行驾车路径规划
    2. 调用getWalkingRoutes方法进行步行路径规划
    3. 调用getCyclingRoutes方法进行骑行路径规划
  1. 批量算路:提供多点之间步行、骑行、驾车的批量算路功能。
    1. 调用getDrivingMatrix方法进行驾车批量算路
    2. 调用getWalkingMatrix方法进行步行批量算路
    3. 调用getCyclingMatrix方法进行骑行批量算路
  1. 轨迹绑路:根据给定的坐标点捕捉道路,将用户的轨迹纠正到道路上,从而返回用户实际驾车经过的道路坐标。
    1. 调用snapToRoads方法进行轨迹绑路

驾车路径规划、步行路径规划、骑行路径规划、驾车批量算路、步行批量算路、骑行批量算路、轨迹绑路

场景化控件开发步骤:实现查看地点详情或地图选点的能力

  1. 申请ohos.permission.LOCATION和ohos.permission.APPROXIMATELY_LOCATION权限
  2. 导入相关模块。
  3. 地点详情控件使用:创建查询地点详情参数,调用queryLocation方法拉起地点详情页。
  4. 地图选点控件使用:创建地图选点参数,调用chooseLocation方法拉起地图选点页。

位置搜索:

能力:

  • 关键字搜索:通过用户输入的关键字,返回地点列表。调用searchByText方法查询关键字搜索
  • 周边搜索:基于用户设备位置进行地点查找。调用nearbySearch方法查询周边搜索
  • 地点详情:查询某个地点更详细的信息。调用searchById方法查询地点详情
  • 自动补全:根据输入的关键字返回预测的输入关键字和地点查询建议。调用queryAutoComplete方法查询自动补全
  • 正地理编码:根据地址获取地点的经纬度。调用geocode方法查询正地理编码
  • 逆地理编码:获取经纬度对应的地点信息。调用reverseGeocode方法查询逆地理编码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值