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
