HarmonyOS 根据当前地理位置自动获取当前所属省份/城市的demo

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

使用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
微信
回复
2天前
相关问题
HarmonyOS 安全地理位置
62浏览 • 1回复 待解决
需要一个获取当前省份方法
519浏览 • 1回复 待解决
获取安全地理位置信息接口实现
451浏览 • 1回复 待解决
MySQL 如何按照地理位置排序?
2784浏览 • 1回复 待解决
HarmonyOS 获取当前环境
77浏览 • 1回复 待解决