## 地理编码 用于经纬度与地址之间的相互查询 ## Geocoder **Extends AMap.Event** AMap.Geocoder 地理编码与逆地理编码类,用于地址描述与经纬度坐标之间的转换。用户可以通过回调函数获取查询结果。 [相关示例][103] ### Parameters - `opts` **GeocoderOptions** - `opts.city` **string**
城市,地理编码时,设置地址描述所在城市
可选值:城市名(中文或中文全拼)、citycode、adcode
默认值:“全国”
- `opts.radius` **number**
逆地理编码时,以给定坐标为中心点,单位:米
取值范围:0 - 3000
默认值:1000
- `opts.lang` **string**
设置语言类型
可选值:zh_cn(中文)、en(英文)
默认值:zh_cn(中文
- `opts.batch` **boolean** 是否批量查询
batch 设置为 false 时,只返回第一条记录
- `opts.extensions` **string** 逆地理编码时,返回信息的详略
默认值:base,返回基本地址信息
取值为:all,返回地址信息及附近poi、道路、道路交叉口等信息
### Examples ```javascript var geocoder; //加载地理编码插件 mapObj.plugin(["AMap.Geocoder"], function() { //加载地理编码插件 geocoder = new AMap.Geocoder({ radius: 1000, //以已知坐标为中心点,radius为半径,返回范围内兴趣点和道路信息 extensions: "all" //返回地址描述以及附近兴趣点和道路信息,默认“base” }); //返回地理编码结果 geocoder.on("complete", geocoder_CallBack); //逆地理编码 geocoder.getAddress(new AMap.LngLat(116.359119, 39.972121)); }); ``` ### getLocation 将地址信息转化为高德经纬度坐标信息 #### Parameters - `keyword` **String** 关键字 - `cbk` **GeocoderCallback** 回调函数 ### setCity 地理编码时,设置地址描述所在城市 #### Parameters - `city` **String** 所在城市 ### getAddress 将高德经纬度坐标信息转化为结构化的地址信息 #### Parameters - `location` **(LngLat \| Array<LngLat>)** 给定坐标 - `cbk` **ReGeocoderCallback** 回调函数 ## GeocoderCallback Geocoder getLocation 回调函数 Type: Function ### Parameters - `status` **string** 当status为complete时,result为GeocodeResult;当status为error时,result为错误信息info;当status为no_data时,代表检索返回0结果 - `result` **(info | GeocodeResult)** 地理编码 [详查rest文档][106] ## ReGeocoderCallback Geocoder getAddress 回调函数 Type: Function ### Parameters - `status` **string** 当status为complete时,result为GeocodeResult;当status为error时,result为错误信息info;当status为no_data时,代表检索返回0结果 - `result` **(info | ReGeocodeResult)** 逆地理编码 [详查rest文档][107] ## convertFrom 地球上同一个地理位置的经纬度,在不同的坐标系中,会有少于偏移,国内目前常见的坐标系主要分为三种:
1\. 地球坐标系——WGS84:常见于 GPS 设备,Google 地图等国际标准的坐标体系。
2\. 火星坐标系——GCJ-02:中国国内使用的被强制加密后的坐标体系,高德坐标就属于该种坐标体系。
3\. 百度坐标系——BD-09:百度地图所使用的坐标体系,是在火星坐标系的基础上又进行了一次加密处理。
因此在使用不同坐标系前,我们需要使用 AMap.convertFrom() 方法将这些非高德坐标系进行转换。
[相关示例][108] ### Parameters - `lnglat` **LngLat** 需要转换的坐标或者坐标组 - `type` **String** 坐标类型 (optional, default `'gps'`) - `cbk` **Function?** 转换成功后的回调函数 ### Examples ```javascript var gps = [116.3, 39.9]; AMap.convertFrom(gps, 'gps', function (status, result) { if (result.info === 'ok') { var lnglats = result.locations; // Array. } }); ```