HarmonyOS-鸿蒙app开发 —基于java地理编码转化

HarmonyOS-鸿蒙app开发 —基于java地理编码转化

场景介绍

使用坐标描述一个位置,非常准确,但是并不直观,面向用户表达并不友好。

系统向开发者提供了地理编码转化能力(将地理描述转化为具体坐标),以及逆地理编码转化能力(将坐标转化为地理描述)。其中地理编码包含多个属性来描述位置,包括国家、行政区划、街道、门牌号、地址描述等等,这样的信息更便于用户理解。

接口说明

进行坐标和地理编码信息的相互转化,所使用的接口说明如下。

表1 地理编码转化能力和逆地理编码转化能力的API功能介绍

接口名

功能描述

GeoConvert()

创建GeoConvert实例对象。

GeoConvert(Locale locale)

根据自定义参数创建GeoConvert实例对象。

getAddressFromLocation(double latitude, double longitude, int maxItems)

根据指定的经纬度坐标获取地理位置信息。纬度取值范围为[-90, 90],经度取值范围为[-180, 180]。

getAddressFromLocationName​(String description, int maxItems)

根据地理位置信息获取相匹配的包含坐标数据的地址列表。

getAddressFromLocationName​(String description, double minLatitude, double minLongitude, double maxLatitude, double maxLongitude,

int maxItems)

根据指定的位置信息和地理区域获取相匹配的包含坐标数据的地址列表。纬度取值范围为[-90, 90],经度取值范围为[-180, 180]。

开发步骤

说明

GeoConvert需要访问后端服务,请确保设备联网,以进行信息获取。

实例化GeoConvert对象,所有与(逆)地理编码转化能力相关的功能API,都是通过GeoConvert提供的。

GeoConvert geoConvert = new GeoConvert();

如果需要根据自定义参数实例化GeoConvert对象,如语言、地区等,可以使用GeoConvert(Locale locale)。

获取转化结果。

调用getAddressFromLocation(double latitude, double longitude, int maxItems),坐标转化地理位置信息。

geoConvert.getAddressFromLocation(40.0, 116.0, 1);

参考接口API说明,应用可以获得与此坐标匹配的GeoAddress列表,应用可以根据实际使用需求,读取相应的参数数据。

调用getAddressFromLocationName​(String description, int maxItems)位置描述转化坐标。

geoConvert.getAddressFromLocationName(“北京大兴国际机场”, 1);

参考接口API说明,应用可以获得与位置描述相匹配的GeoAddress列表,其中包含对应的坐标数据,请参考API使用。

如果需要查询的位置描述可能出现多地重名的请求,可以调用getAddressFromLocationName​(String description, double minLatitude, double minLongitude, double maxLatitude, double maxLongitude, int maxItems),通过设置一个经纬度范围,以高效地获取期望的准确结果。geoConvert.getAddressFromLocationName(“北京大兴国际机场”, 0.0, 0.0, 90.0, 180.0, 1);

🚀 如未找到文章请搜索栏搜素 | Ctrl+D收藏本站 | 联系邮箱:15810050733@qq.com