美文网首页
微信小程序定位到当前城市

微信小程序定位到当前城市

作者: 乡水情缘 | 来源:发表于2017-03-08 14:10 被阅读6218次

    一:微信小程序定位到当前城市

    地理编码:即地址解析,由详细到街道的结构化地址得到百度经纬度信息,例如:“北京市海淀区中关村南大街27号”地址解析的结果是“lng:116.31985,lat:39.959836”。同时,地理编码也支持名胜古迹、标志性建筑名称直接解析返回百度经纬度,例如:“百度大厦”地址解析的结果是“lng:116.30815,lat:40.056885” ,通用的POI检索需求,建议使用Place API。

    逆地理编码:即逆地址解析,由百度经纬度信息得到结构化地址信息,例如:“lat:31.325152,lng:120.558957”逆地址解析的结果是“江苏省苏州市虎丘区塔园路318号”。

    Page({  
      data:{  
        city:''  
      },  
      onLoad:function(options){  
        this.loadInfo();  
      },  
      loadInfo:function(){  
        var page=this  
      wx.getLocation({  
        type: 'wgs84', // 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标  
        success: function(res){  
          // success  
          var longitude=res.longitude  
          var latitude=res.latitude  
          page.loadCity(longitude,latitude)  
        },  
        fail: function() {  
          // fail  
        },  
        complete: function() {  
          // complete  
        }  
      })  
      },  
      loadCity:function(longitude,latitude){  
        var page =this  
        wx.request({  
          url: 'https://api.map.baidu.com/geocoder/v2/?ak=您的ak &location='+latitude+','+longitude+'&output=json',  
          data: {},  
          header:{  
            'Content-Type':'application/json'  
          },  
          success: function(res){  
            // success  
            console.log(res);  
            var city=res.data.result.addressComponent.city;  
            page.setData({city:city});  
          },  
          fail: function() {  
            // fail  
          },  
          complete: function() {  
            // complete  
          }  
        })  
      }  
    })  
    

    二:获取当前位置信息

    小程序的api getLocation只能获得经纬度,所以需要将经纬度转换成地区信息发送http请求
    http://api.map.baidu.com/geocoder/v2/?ak=btsVVWf0TM1zUBEbzFz6QqWF&callback=renderReverse&location=' + res.latitude + ',' + res.longitude + '&output=json&pois=1
    可以将经纬度转换成地区信息,完整代码:

    wx.getLocation({
          type: 'wgs84',
          success: function (res) {
            wx.request({
                    url: 'http://api.map.baidu.com/geocoder/v2/?ak=btsVVWf0TM1zUBEbzFz6QqWF&callback=renderReverse&location=' + res.latitude + ',' + res.longitude + '&output=json&pois=1', data: {},
                success: function (ops) {
                       console.log(ops)
                       }
                 })
          }
        })
    

    欢迎更多开发者加qq 556120515 群进来交流

    相关文章

      网友评论

          本文标题:微信小程序定位到当前城市

          本文链接:https://www.haomeiwen.com/subject/saybgttx.html