高德 开发 地图 JS API 开发指南 获取地图数据 地址与经纬度

更新时间:2017年05月23日

亲手试一试

在很多GIS应用中,需要将地址描述转化为经纬度(地理编码),或将经纬度转化为地址描述(逆地理编码),高德JavaScript API提供AMap.Geocoder服务插件来完成这两个功能。

插件引入与对象创建

在使用插件之前,需要使用AMap.service方法加载插件,然后在回调函数中可以进行服务的参数设定和查询:

AMap.service('AMap.Geocoder',function(){//回调函数
    //实例化Geocoder
    geocoder = new AMap.Geocoder({
        city: "010"//城市,默认:“全国”
    });
    //TODO: 使用geocoder 对象完成相关功能
})

一、根据经纬度获得地址(逆地理编码)

要获取某个经纬度的地址,可调用getAddress方法,此方法有两个参数,第一个即为坐标或AMap.LngLat对象,第二个参数为回调函数,返回坐标点的地址描述信息:

//逆地理编码
var lnglatXY=[116.396574, 39.992706];//地图上所标点的坐标
geocoder.getAddress(lnglatXY, function(status, result) {
    if (status === 'complete' && result.info === 'OK') {
       //获得了有效的地址信息:
       //即,result.regeocode.formattedAddress
    }else{
       //获取地址失败
    }
});  

回调函数返回查询结果的状态status和查询结果result。当status为'complete'的时候表示查询到有效结果。

名称

类型

说明

status

String

结果状态码,“complete”时说明得到有效查询结果

result

Object

当status为complete时,result为ReGeocodeResult;

当status为error时,result为错误信息info;

当status为no_data时,代表检索返回0结果

ReGeocodeResult对象说明

方法名

返回值

说明

info

String

成功状态说明

regeocode

ReGeocode

逆地理编码结果,仅逆地理编码返回

ReGeocode对象说明

字段名

类型

说明

addressComponent

AddressComponent

地址组成元素

formattedAddress

String

格式化地址

规则:地址信息=基本行政区信息+具体信息;

基本行政信息=省+市+区+乡镇

当给定坐标为poi时直接返回;非poi时,取离给定坐标最近poi返回

roads

Array.<Road>

道路信息列表

crosses

Array.<Cross>

道路路口列表

pois

Array.<ReGeocodePoi>

兴趣点列表,包含兴趣点基本信息

二、根据地址查询经纬度(地理编码)

要实现上述查询功能,先获取地址描述,然后调用getLocation方法,此方法有两个参数,第一个即为地址描述信息,第二个参数为回调函数,返回地址描述的经纬度信息:

//地理编码
geocoder.getLocation("北京市海淀区苏州街", function(status, result) {
    if (status === 'complete' && result.info === 'OK') {
        //TODO:获得了有效经纬度,可以做一些展示工作
        //比如在获得的经纬度上打上一个Marker
    }else{
        //获取经纬度失败
    }
}); 

回调函数返回查询结果的状态status和查询结果result。当status为complete的时候表示查询到有效结果。

名称

类型

说明

status

String

结果状态码,“complete”时说明得到有效查询结果

result

Object

当status为complete时,result为GeocodeResult;当status为error时,result为错误信息info;当status为no_data时,代表检索返回0结果

GeocodeResult对象说明

字段名

类型

说明

info

String

成功状态说明

geocodes

Array.<Geocode>

地理编码结果,仅地理编码返回

resultNum

Number

地理编码结果数目,仅地理编码返回

Geocode对象说明

字段名

类型

说明

addressComponent

AddressComponent

地址组成元素

formattedAddress

String

格式化地址

规则:地址信息=基本行政区信息+具体信息;

基本行政信息=省+市+区+乡镇

location

LngLat

坐标

adcode

String

区域编码

level

String

给定地址匹配级别,返回匹配最详细级别

如:“北京市海淀区苏州街”匹配级别为“道路”

详见匹配级别列表

移动端
示例中心
功能
在线体验
常见问题