开发 HarmonyOS NEXT 地图SDK 开发指南 获取地图数据 获取地址描述数据

获取地址描述数据 最后更新时间: 2026年05月26日

地理编码(地址转坐标)

地理编码基本介绍

地理编码,又称为地址匹配,是从已知的结构化地址描述到对应的经纬度坐标的转换过程。该功能适用于根据用户输入的地址确认用户具体位置的场景,常用于配送人员根据用户输入的具体地址找地点。

结构化地址的定义: 首先,地址肯定是一串字符,内含国家、省份、城市、城镇、乡村、街道、门牌号码、屋邨、大厦等建筑物名称。按照由大区域名称到小区域名称组合在一起的字符。一个有效的地址应该是独一无二的。注意:针对大陆、港、澳地区的地理编码转换时可以将国家信息选择性的忽略,但省、市、城镇等级别的地址构成是不能忽略的。

注意:该功能可以返回一部分POI数据内容,但核心能力是完成结构化地址到经纬度的转换。

  • POI关键字搜索,是根据关键词找到现实中存在的地物点(POI)。
  • 地理编码是依据当前输入,根据标准化的地址结构(省/市/区或县/乡/村或社区/商圈/街道/门牌号/POI)进行各个地址级别的匹配,以确认输入地址对应的地理坐标,只有返回的地理坐标匹配的级别为POI,才会对应一个具体的地物(POI)。

根据给定的地理名称和查询城市,返回地理编码的结果列表。显示效果如图:

实现步骤如下:

1、继承 OnGeocodeSearchListener 监听。

2、构造 GeocodeSearch 对象,并设置监听。


this.geocoderSearch = new GeocodeSearch(this.context)
this.geocoderSearch.setOnGeocodeSearchListener(this.onGeocodeSearchListener)

3、通过 GeocodeQuery(java.lang.String locationName, java.lang.String city) 设置查询参数,调用 GeocodeSearch 的 getFromLocationNameAsyn(GeocodeQuery geocodeQuery) 方法发起请求。

// 第一个参数表示地址,第二个参数表示查询城市,中文或者中文全拼,citycode、adcode,
let query = new GeocodeQuery(name, city) 
// 设置同步地理编码请求
this.geocoderSearch.getFromLocationNameAsyn(query) 

4、通过回调接口 onGeocodeSearched 解析返回的结果。

说明:

1)可以在回调中解析result,获取坐标信息。

2)返回结果成功或者失败的响应码。1000为成功,其他为失败(详细信息参见网站开发指南-实用工具-错误码对照表)


public onGeocodeSearched: (geocodeResult: GeocodeResult | undefined, errorCode: number): void => {
//解析geocodeResult获取坐标信息
}

逆地理编码(坐标转地址)

逆地理编码,又称地址解析服务,是指从已知的经纬度坐标到对应的地址描述(如行政区划、街区、楼层、房间等)的转换。常用于根据定位的坐标来获取该地点的位置详细信息,与定位功能是黄金搭档。

示例代码如下:

1、继承 OnGeocodeSearchListener 监听。

2、构造 GeocodeSearch 对象,并设置监听。

this.geocoderSearch = new GeocodeSearch(this.context)      this.geocoderSearch.setOnGeocodeSearchListener(this.onGeocodeSearchListener)

3、通过 RegeocodeQuery(LatLonPoint point, float radius, java.lang.String latLonType) 设置查询参数,调用 GeocodeSearch 的 getFromLocationAsyn(RegeocodeQuery regeocodeQuery) 方法发起请求。

// 第一个参数表示一个Latlng,第二参数表示范围多少米,第三个参数表示是火系坐标系还是GPS原生坐标系
let query =new ReGeocodeQuery(latLonPoint, 200, GeocodeSearch.AMAP) 
 // 设置异步逆地理编码请求
this.geocoderSearch.getFromLocationAsyn(query)

4、通过回调接口 onRegeocodeSearched 解析返回的结果。

说明:

1)可以在回调中解析result,获取地址、adcode等等信息。

2)返回结果成功或者失败的响应码。1000为成功,其他为失败(详细信息参见网站开发指南-实用工具-错误码对照表)

public onReGeocodeSearched: (reGeocodeResult: ReGeocodeResult | undefined, errorCode: number): void => {
//解析reGeocodeResult获取地址描述信息
}

注意事项

请注意:使用上述功能需要下载地图SDK,导入搜索功能的har包。

返回顶部 示例中心 常见问题 智能客服 公众号
二维码