地图定位与导航
定位
1.先申请地址权限(大致位置+精准位置)
module.json5文件
"requestPermissions": [{"name": "ohos.permission.INTERNET"
},{"name": "ohos.permission.LOCATION","reason": "$string:app_name","usedScene": {"abilities": ["EntryAbility"],"when": "always"}},{"name": "ohos.permission.APPROXIMATELY_LOCATION","reason": "$string:app_name","usedScene": {"abilities": ["EntryAbility"],"when": "always"}}
],
2.向用户申请权限->获取当前地理位置->根据经纬度获取到具体地址
Button('位置').onClick(async () => {// 向用户申请权限const manager = abilityAccessCtrl.createAtManager()const result = await manager.requestPermissionsFromUser(getContext(),["ohos.permission.LOCATION", "ohos.permission.APPROXIMATELY_LOCATION"])if (result.authResults[0] == 0 && result.authResults[1] == 0) {// 用户授权成功,获取当前地理位置const res = await geoLocationManager.getCurrentLocation({ maxAccuracy: 100 })const latitude = res.latitude // 纬度const longitude = res.longitude // 经度// 根据经纬度获取到具体地址const address = await geoLocationManager.getAddressesFromLocation({ latitude, longitude })this.addressData.address = address[0].placeName || ''} else {AlertDialog.show({ message: "获取失败,没有权限" })}})