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