【實戰技能】百度地圖結合iosSelect實現用戶所在省市區定位

1,iosSelect:

     參考文章:https://blog.csdn.net/chenxueshanBlog/article/details/78863435

2,百度地圖:

      http://lbsyun.baidu.com/index.php?title=jspopular3.0/guide/usage

3,代碼實現:

    function initialize() {
      // 百度地圖API功能
      var ADRESS=undefined
      var POINT=undefined
      var geolocation = new BMap.Geolocation();
      geolocation.getCurrentPosition(function(r){console.log(r.point)
        if(this.getStatus() == BMAP_STATUS_SUCCESS){
          POINT=r.point
          var point = new BMap.Point(r.point.lng,r.point.lat);    //用所定位的經緯度查找所在地省市街道等信息
          var gc = new BMap.Geocoder();
          gc.getLocation(point, function(rs){
            ADRESS=rs
            setInputText("show_contact",rs)  //通過地址的名稱,查找id並進行默認值寫入
          });
        }else {
        }
      },{enableHighAccuracy: true})
    }

    function setInputText(id,rs) {
      var localId = document.getElementById(id);
      var dcity = localId.getAttribute("data-district-name");
      if(dcity === ''){
        localId.setAttribute("value",rs.addressComponents.province+" "+rs.addressComponents.city+" "+rs.addressComponents.district)
        localId.setAttribute("data-province-name",rs.addressComponents.province)
        localId.setAttribute("data-city-name",rs.addressComponents.city)
        localId.setAttribute("data-district-name",rs.addressComponents.district)
        for (let i = 0; i < iosProvinces.length; i++) {
          if (iosProvinces[i].value.indexOf(rs.addressComponents.province) != -1){
            localId.setAttribute("data-province-code",iosProvinces[i].id)
            break;
          }
        }
        for (let i = 0; i < iosCitys.length; i++) {
          if (iosCitys[i].value.indexOf(rs.addressComponents.city) != -1){
            localId.setAttribute("data-city-code",iosCitys[i].id)
            break;
          }
        }
        for (let i = 0; i < iosCountys.length; i++) {
          if (iosCountys[i].value.indexOf(rs.addressComponents.district) != -1){
            localId.setAttribute("data-district-code",iosCountys[i].id)
            break;
          }
        }
        // 打開詳細地址書寫
        document.getElementById("address").style.display = "block";
      }
    }
    function loadScript() {
      var script = document.createElement("script");
      script.src = "http://api.map.baidu.com/api?v=2.0&ak=你的ak&callback=initialize";
      document.body.appendChild(script);
    }
    loadScript();

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章