跳到主要内容

地理编码

场景介绍

提供正地理编码、逆地理编码的能力:

  • 正地理编码:根据地址获取地点的经纬度。
  • 逆地理编码:获取经纬度对应的地点信息。

接口说明

以下是地理编码相关接口,主要由site命名空间下的方法提供,更多接口及使用方法请参见接口文档

接口名描述
geocode(geocodeParams: GeocodeParams): Promise<GeocodeResult>正地理编码。
geocode(context: common.Context, geocodeParams: GeocodeParams): Promise<GeocodeResult>正地理编码。支持上传Context上下文。
reverseGeocode(reverseGeocodeParams: ReverseGeocodeParams): Promise<ReverseGeocodeResult>逆地理编码。
reverseGeocode(context: common.Context, reverseGeocodeParams: ReverseGeocodeParams): Promise<ReverseGeocodeResult>逆地理编码。支持上传Context上下文。
GeocodeParams正地理编码的参数。
GeocodeResult正地理编码的结果。
ReverseGeocodeParams逆地理编码的参数。
ReverseGeocodeResult逆地理编码的结果。

开发步骤

导入相关模块。

import { site } from '@kit.MapKit';
import { BusinessError } from '@kit.BasicServicesKit';

正地理编码

根据地址获取地点的空间坐标,如经纬度,最多返回10条记录。

let params: site.GeocodeParams = {
// 地址信息
query: 'Piazzale Dante, 41, 55049 Viareggio',
language: 'en'
};
try {
// 调用正地理编码接口进行地址查询
const result = await site.geocode(params);
console.info(`Succeeded in geocoding. result is ${JSON.stringify(result)}`);
} catch (error) {
const err: BusinessError = error as BusinessError;
console.error(`Failed in geocoding. Code is ${err.code}, message is ${err.message}`);
}

逆地理编码

let params: site.ReverseGeocodeParams = {
// 位置经纬度
location: {
latitude: 31.984410259206815,
longitude: 118.76625379397866
},
language: "en",
radius: 0,
isExtension: true,
isNearbyAoi: true
};
try {
// 调用逆地理编码接口进行坐标地址查询
const result = await site.reverseGeocode(params);
console.info(`Succeeded in reversing. result is ${JSON.stringify(result)}`);
} catch (error) {
const err: BusinessError = error as BusinessError;
console.error(`Failed in reversing. Code is ${err.code}, message is ${err.message}`);
}