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

Geocoder:逆/地址解析,用于坐标与地址间的相互转换。详情见类参考
根据地址描述获得坐标信息。
百度地图API提供Geocoder类进行地址解析,您可以通过Geocoder.getPoint()方法来将一段地址描述转换为一个坐标。 如下示例,我们将地址“北京市海淀区上地10街10号”转换获取该位置的地理经纬度坐标,并在这个位置上添加一个标注。
注意:在调用Geocoder.getPoint()方法时您需要提供地址解析所在的城市(本例为“北京市”)。
var map = new BMapGL.Map('container');map.centerAndZoom(new BMapGL.Point(116.331398,39.897445), 12);//创建地址解析器实例var myGeo = new BMapGL.Geocoder();// 将地址解析结果显示在地图上,并调整地图视野myGeo.getPoint('北京市海淀区上地10街', function(point){if(point){map.centerAndZoom(point, 16);map.addOverlay(new BMapGL.Marker(point, {title: '北京市海淀区上地10街'}))}else{alert('您选择的地址没有解析到结果!');}}, '北京市')
根据坐标点获得该地点的地址描述,是地址解析的逆向转换。 您可以通过Geocoder.getLocation()方法获得地址描述。当解析工作完成后,您提供的回调函数将会被触发。如果解析成功,则回调函数的参数为GeocoderResult对象,否则为null。
var map = new BMapGL.Map("container");map.centerAndZoom(new BMapGL.Point(116.404, 39.915), 11);// 创建地理编码实例var myGeo = new BMapGL.Geocoder();// 根据坐标得到地址描述myGeo.getLocation(new BMapGL.Point(116.364, 39.993), function(result){if (result){alert(result.address);}});
var map = new BMapGL.Map('container');map.centerAndZoom(new BMapGL.Point(116.331398,39.897445), 13);var geoc = new BMapGL.Geocoder();map.addEventListener('click', function(e){var pt = e.latlng;geoc.getLocation(pt, function(rs){var addComp = rs.addressComponents;alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);})})
上一篇
下一篇
本篇文章对您是否有帮助?