百度地圖(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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM