美文网首页
微信小程序获取当前所在城市的方法

微信小程序获取当前所在城市的方法

作者: kunlu | 来源:发表于2017-07-15 21:18 被阅读0次

           现在很多企业商家为了提供更准确的服务,基本都要获取用户当前所在的地理位置,城市是其中最基本的。而微信小程序官方提供的API只能获取当前地理位置的经纬度,需要经过第三方转换才可以得到我所需的城市名,经过多次测试,终于找到方法。

    这两个方法都需要用到小程序官方的API来获取经纬度,这个API的信息如下

    wx.getLocation(OBJECT)   

    地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/location.html#wxgetlocationobject

    获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用;当用户点击“显示在聊天顶部”时,此接口可继续调用。

    OBJECT参数说明:

    success返回参数说明:

    示例代码:

     

    使用实例代码就可以获取经纬度:可以从控制台进行查看:

    latitude:接下来用到的纬度

    longitude:接下来用到的经度

    用这个API结合另外两个API即可得到想要的地理位置。

    第一个是使用易源数据的api 地址与经纬度互转  https://www.showapi.com/api/lookPoint/238/2

    首先在左侧的 接入点列表 选择 经纬度-->地址 。

    这个api需要的请求参数有三个:

    知道这些就好办了,直接使用wx.request(OBJECT)按照下图操作即可获取城市。

    输出的结果如下:

    方法到此结束,附上完整代码:

    //index.js

    //获取应用实例

    var app = getApp()

    Page({

    onLoad: function () {

    console.log('onLoad')

    var that = this

    //调用应用实例的方法获取全局数据

    app.getUserInfo(function(userInfo){

    //更新数据

    that.setData({

    userInfo:userInfo

    })

    })

    wx.getLocation({ //官方获取经纬度api

    type: 'wgs84',

    success: function (res) {

    console.log(res)

    var latitude = res.latitude //纬度

    var longitude = res.longitude //经度

    var speed = res.speed  //速度,这里用不到

    var accuracy = res.accuracy //精确度

    wx.request({ //向服务器发送请求转换地理位置

    url: 'http://route.showapi.com/238-2',//请求的url

    data:{ //请求的参数

    showapi_appid:'42391',//易源应用key:申请账号可获取

    showapi_sign:'bb5250042ace47a088290abf88229a38',//数字签名:申请账号可获取

    lat:latitude,//纬度

    lng: longitude,//经度

    from:1// from

    },

    success:function (res){

    console.log(res)

    // console.log("当前城市:"+res.data.showapi_res_body.addressComponent.city)

    }

    })

    }

    })

    }

    })

    相关文章

      网友评论

          本文标题:微信小程序获取当前所在城市的方法

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