参考官方文档
#1.初始化时获取经纬度信息
aboutToAppear() {this.getLocation()
}
async getLocation () {try {const result = await geoLocationManager.getCurrentLocation()AlertDialog.show({message: JSON.stringify(result)})}catch (error) {AlertDialog.show({message: error.message})}}
#2.配置位置权限信息
"requestPermissions": [//API9之前只申请这个就可以米级定位{'name': 'ohos.permission.LOCATION'},//API9之前申请的权限//API9后两个权限同时申请才可以获取米级定位,只下边一个权限只能精准到5公里{'name': 'ohos.permission.APPROXIMATELY_LOCATION'},//API9及之后需要增加申请的权限{"name": 'ohos.permission.LOCATION_IN_BACKGROUND'}],
#3.访问设备的位置信息,必须申请权限,并且获得用户授权
在src/main/ets/entryability/EntryAbility.ts里申请
import abilityAccessCtrl from '@ohos.abilityAccessCtrl'async onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): Promise<void> {hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');let manger = abilityAccessCtrl.createAtManager()try {await manger.requestPermissionsFromUser(this.context,['ohos.permission.MEDIA_LOCATION','ohos.permission.LOCATION','ohos.permission.APPROXIMATELY_LOCATION',])} catch (err) {promptAction.showToast({ message: '获取位置信息失败!' })}}