AI
产品服务
解决方案
文档与支持
定价
更新时间: 2026/03/13 12:05
简介

地址解析服务提供从地址转换到经纬度的服务,反之,逆地址解析则提供从经纬度坐标转换到地址的转换功能。

DEMO详情
地址解析
逆地址解析
提供的转换类
  • Geocoder:逆/地址解析,用于坐标与地址间的相互转换。详情见类参考

地址解析服务
  • 根据地址描述获得坐标信息。

百度地图API提供Geocoder类进行地址解析,您可以通过Geocoder.getPoint()方法来将一段地址描述转换为一个坐标。
如下示例,我们将地址“北京市海淀区上地10街10号”转换获取该位置的地理经纬度坐标,并在这个位置上添加一个标注。注意:在调用Geocoder.getPoint()方法时您需要提供地址解析所在的城市(本例为“北京市”)。

var map = new BMap.Map("l-map");
map.centerAndZoom(new BMap.Point(116.404,39.915),11);
// 创建地址解析器实例
var myGeo = new BMap.Geocoder();
// 将地址解析结果显示在地图上,并调整地图视野
myGeo.getPoint("北京市海淀区上地10街10号", function(point) {
if (point) {
map.centerAndZoom(point,16);
map.addOverlay(new BMap.Marker(point));
}
}, "北京市");
逆地址解析服务
  • 根据坐标点获得该地点的地址描述,是地址解析的逆向转换。

您可以通过Geocoder.getLocation()方法获得地址描述。当解析工作完成后,您提供的回调函数将会被触发。如果解析成功,则回调函数的参数为GeocoderResult对象,否则为null。
在构造Geocoder对象时,可以增加参数{extensions_town: true}来获得乡镇级数据,仅限国内。

1. 指定经纬度获取地址
var map = new BMap.Map("l-map");
map.centerAndZoom(new BMap.Point(116.404,39.915), 11);
// 创建地理编码实例, 并配置参数获取乡镇级数据
var myGeo = new BMap.Geocoder({ extensions_town: true });
// 根据坐标得到地址描述
myGeo.getLocation(new BMap.Point(116.364,39.993), function(result) {
if (result) {
alert(result.address);
}
});
2. 鼠标点击地图获取地址
var map = new BMap.Map("allmap");
var point = new BMap.Point(116.331398, 39.897445);
map.centerAndZoom(point, 12);
var geoc = new BMap.Geocoder();
map.addEventListener("click", function(e) {
var pt = e.point;
geoc.getLocation(pt, function(rs) {
var addComp = rs.addressComponents;
alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
});
});

上一篇

检索POI

下一篇

出行路线规划

本篇文章对您是否有帮助?