【用户与商家的距离计算】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

例如:做小程序,总会碰到需要计算用户与商家的距离,本文就介绍了计算用户与商家的距离内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、getLocation

获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用

二、使用步骤

1.app.json 声明

代码如下(示例):

  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于展示你与商家距离"
    }
  },

2.实现代码

代码如下(示例):

 getUserLocation: function () {
    let that = this
    wx.getLocation({ //拿到经纬度
      type: 'gcj02',
      //type参数默认为wgs84返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标
      success: function (res) {
        var latitude = res.latitude //纬度,范围为 -90~90,负数表示南纬
        var longitude = res.longitude //经度,范围为 -180~180,负数表示西经
        console.log("经纬度:latitude " + latitude + " ;longitude " + longitude) //这里获取的是经纬度坐标
        // 计算两地之间的距离
        let lat1 = latitude //获取的latitude 
        let lng1 = longitude //获取的longitude 
        let lat2 = that.data.list.latitude  //商家latitude  
        let lng2 = that.data.list.longitude //商家longitude 
        console.log(lat1, lng1, lat2, lng2)
        lat1 = lat1 || 0;
        lng1 = lng1 || 0;
        lat2 = lat2 || 0;
        lng2 = lng2 || 0;
        var rad1 = lat1 * Math.PI / 180.0;
        var rad2 = lat2 * Math.PI / 180.0;
        var a = rad1 - rad2;
        var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
        var r = 6378137;
        let p = (r * 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(rad1) * Math.cos(rad2) * Math.pow(Math.sin(b / 2), 2)))).toFixed(0)
        console.log(p)
        that.setData({
          mm: p
        })
      }
    })
  }
  ,

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了计算用户与商家的距离使用。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值