HarmonyOS 如何实现获取坐标后判断城市位置?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

使用getAddressesFromLocation接口调用逆地理编码服务,将坐标转换为地理描述,请参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/geocode-guidelines-V5

指导 demo:

//1.导入geoLocationManager模块,所有与(逆)地理编码转化能力相关的功能API,都是通过该模块提供的。
import geoLocationManager from '@ohos.geoLocationManager';
import BusinessError from "@ohos.base";
@Entry
@Component
struct Index {
  build() {
    Column() {
      Row() {
        Button('地理编码转化')
          .onClick(() => {
            //2.查询geoCoder服务是否可用。
            // 调用isGeoServiceAvailable查询geoCoder服务是否可用,如果服务可用再继续进行步骤3。
            try {
              let isAvailable = geoLocationManager.isGeocoderAvailable();
            } catch (err) {
              console.error("errCode:" + (err as BusinessError.BusinessError).code + ",errMessage:" +
              (err as BusinessError.BusinessError).message);
            }
            //3.获取转化结果。
            // 调用getAddressesFromLocation,坐标转化地理位置信息。
            let reverseGeocodeRequest: geoLocationManager.ReverseGeoCodeRequest =
              { "latitude": 31.12, "longitude": 121.11, "maxItems": 1 };
            try {
              geoLocationManager.getAddressesFromLocation(reverseGeocodeRequest, (err, data) => {
                if (err) {
                  console.log('getAddressesFromLocation err: ' + JSON.stringify(err));
                } else {
                  console.log('getAddressesFromLocation data: ' + JSON.stringify(data));
                }
              });
            } catch (err) {
              console.error("errCode:" + (err as BusinessError.BusinessError).code + ",errMessage:" +
              (err as BusinessError.BusinessError).message);
            }
            //调用getAddressesFromLocationName位置描述转化坐标。
            let geocodeRequest: geoLocationManager.GeoCodeRequest =
              { "description": "上海市浦东新区xx路xx号", "maxItems": 1 };
            try {
              geoLocationManager.getAddressesFromLocationName(geocodeRequest, (err, data) => {
                if (err) {
                  console.log('getAddressesFromLocationName err: ' + JSON.stringify(err));
                } else {
                  console.log('getAddressesFromLocationName data: ' + JSON.stringify(data));
                }
              });
            } catch (err) {
              console.error("errCode:" + (err as BusinessError.BusinessError).code + ",errMessage:" +
              (err as BusinessError.BusinessError).message);
            }
          })
      }.width('100%').justifyContent(FlexAlign.Center)
    }.width('100%').height('100%').alignItems(HorizontalAlign.Center).justifyContent(FlexAlign.Center)
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS ArkUI获取元素的坐标位置
42浏览 • 1回复 待解决
HarmonyOS 获取控件坐标
75浏览 • 1回复 待解决
HarmonyOS 如何获取,某组件的坐标
77浏览 • 1回复 待解决
HarmonyOS 获取组件坐标的方法
45浏览 • 1回复 待解决
HarmonyOS 获取view在屏幕的坐标
77浏览 • 1回复 待解决
HarmonyOS 如何获取组件的位置
274浏览 • 1回复 待解决
如何可以获取组件的中心点坐标
736浏览 • 1回复 待解决
HarmonyOS 提供城市拼音选择组件
256浏览 • 1回复 待解决
如何获取元素位置和大小
2307浏览 • 1回复 待解决