一、远近计算SQL语句参考 


   SELECT *, (round(6367000 * 2 * asin(sqrt(pow(sin(((latitude * pi()) / 180 - (${latitude} * pi()) / 180) / 2), 2) + cos((${latitude} * pi()) / 180) * cos((latitude * pi()) / 180) * pow(sin(((longitude * pi()) / 180 - (${longitude} * pi()) / 180) / 2), 2))))) AS distance
        FROM eb_system_store WHERE is_show = 1 and is_del = 0
         ORDER BY distance asc


二、通过腾讯地图计算


3、求两点距离文档:腾讯位置-两点求距


4、读完可知,我们只需要商家的经纬度即可,我们在小程序里实验一下


// 引入SDK核心类

var QQMapWX = require('../../utils/qqmap-wx-jssdk.js');



var qqmapsdk= new QQMapWX({ key: '你申请到的key' // 必填 });



that.qqmapsdk.calculateDistance({

                        //mode: 'driving',//可选值:'driving'(驾车)、'walking'(步行),不填默认:'walking',可不填

                        //from参数不填默认当前地址

                        //获取表单提交的经纬度并设置from和to参数(示例为string格式)

                        to: [{

                           latitude: 35.085213, //商家的纬度

                           longitude: 117.167236, //商家的经度

                        }],

                        success: function(res) {//成功后的回调

                          console.log(res);

                          let hw = res.result.elements[0].distance //拿到距离(米)

                          console.log('腾讯地图计算距离商家' + hw +"米");

                          if (hw && hw !== -1) { //拿到正确的值

                              //转换成公里

                              hw = (hw / 2 / 500).toFixed(2) + '公里'

                          } else {

                              hw = "距离太近或请刷新重试"

                          }

                          console.log('腾讯地图计算距离商家:' + hw +"千米");

                        },

                        fail: function(error) {

                          console.error("腾讯地图计算距离商家失败"+error);

                        },

                        complete: function(res) {

                          console.log("距离商家位置结束啦"+res);

                        }

                    });




点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部