地址解析
地址解析的含义其实就是,根据地址来解析到对应的位置,也就是地图上的经纬度。另外对应的还有一个名此处是 地址逆解析,也就是根据经纬度数值,来解析所处的地址。
地址解析的类库是根据:BMap.Geocoder
function geoCode(){
var myGeo = new BMap.Geocoder();
let address = "合肥市马鞍山路合肥工业大学"
myGeo.getPoint(address,function (point) {
if(point){
map.centerAndZoom(point,16);
map.addOverlay(new BMap.Marker(point));
console.log("X:" + point.lng + ",Y:"+point.lat);
alert(point);
}
});
};
效果如下:
地址逆解析
这里对地图点击事件添加新的逻辑,点击后根据鼠标所在的经纬度,得到该点所在的省份、城市、地区、街道、门牌号。
不过查看了一下,只有那些地图上的POI点,才能获取到门牌号,其它的获取不到门牌号,只能获取到街道。
function geoDecode() {
var geoc = new BMap.Geocoder();
map.addEventListener("click",function (e) {
var pt = e.point;
geoc.getLocation(pt,function (rs) {
var addComp = rs.addressComponents;
let address = addComp.province + "," + addComp.city + "," + addComp.district + "," + addComp.street + "," + addComp.streetNumber;
alert(address);
})
});
}
效果如下: