前言

地图定位功能基本上已经成了日常应用程序的必备功能之一,在日常开发地图定位的功能的时候难免会遇到很多意想不到的问题,本篇文章记录日常开发过程中的细节与完整的流程,帮助更多的开发者避免遇到类似的问题,建议点赞收藏!

实现效果

HarmonyOS实战:高德地图自定义定位图标展示_地图定位

需求分析

  • 首先需要实现一个自定义的图标替代系统默认的箭头。
  • 获取定位权限与位置信息。
  • 获取定位结果并展示当前位置。

技术实现

  1. 在鸿蒙的实际开发过程中,地图定位权限首先需要申请两个权限,分别是:
const permissions: Array<Permissions> = [
  'ohos.permission.APPROXIMATELY_LOCATION',
  'ohos.permission.LOCATION'
]

static applyPermission(context: common.UIAbilityContext, permissions: Array<Permissions>, grantedBlock: () => void,
                       deniedBlock?: () => void) {
          
          
  let atManager = abilityAccessCtrl.createAtManager()
  let permissionGrantedNumber: number = 0 //记录已经授权的总个数
  atManager.requestPermissionsFromUser(context, permissions).then((data) => {
          
          
    for (let index = 0; index < data.authResults.length; index++