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

 

posted @ 2021-04-21 13:43  googlegis  阅读(1688)  评论(0编辑  收藏  举报

坐标合肥,非典型GIS开发人员 GitHub