zoukankan      html  css  js  c++  java
  • [微信小程序]计算自己手机到指定位置的距离

    目的: 根据目的地的坐标计算自己手机的位置离目的地的距离的
    核心思路: 后续操作必须等所有异步请求都返回了才能继续 使用
    const qqmap = require("../../utils/qqmap-wx-jssdk.js")
    var qqmapsdk;

    onLoad: function () {
    // 实例化API核心类
    qqmapsdk = new qqmap({
    key: '' //腾讯位置服务的key
    });
    this.data_list()
    },
    // 加载数据列表
    data_list: function () {
    const that = this
    const syncArr = []
    const url = util.apiUrl + 'Index/index_show?program_id=' + app.program_id
    util.request(url, 'post', '', '正在加载数据', function (res) {
    for (let i = 0; i < res.data.k4.length; i++) {
    syncArr.push(that.map(res.data.k4[i].sh_jd))
    }
    Promise.all(syncArr).then(results => {
    for (let j = 0; j < results.length; j++) {
    res.data.k4[j].sh_jd = results[j]
    }
    that.setData({
    arr: res.data,
    lunbo: res.data.k1,
    images: res.data.k2,
    nearby_merchant: res.data.k4
    })
    })
    })
    },
    // 公共方法 根据腾讯地图接口获取计算距离http://lbs.qq.com/qqmap_wx_jssdk/method-calculatedistance.html
    map(data) {
    return new Promise((resolve) => {
    const latitude = data.split(',')
    qqmapsdk.calculateDistance({
    to: [{
    latitude: latitude[0],
    longitude: latitude[1]
    }],
    success(res) {
    const distance = Math.floor(res.result.elements[0].distance / 1000 * 100) / 100
    resolve(distance)
    },
    fail() {
    resolve('')
    }
    })
    })
    },
  • 相关阅读:
    两数组相比筛选数据
    利用Cache防止同一帐号重复登录
    [转]post与get的区别
    巧妙运用SQL Server保护数据
    华为任正非:让一线呼唤炮火(续)
    ASP.NET到底该从哪开始学起?
    C# 4.0中泛型协变性和逆变性详解
    服装库存积压的解决路径
    Spring3 MVCx学习 skyCc
    Hibernate缓存(转述) skyCc
  • 原文地址:https://www.cnblogs.com/shenzikun1314/p/7856910.html
Copyright © 2011-2022 走看看