微信腾讯地图计算两点(或多点)间距离
// pages/book/list.js var QQMapWX = require('../../res/js/qqmap-wx-jssdk.min.js'); var qqmapsdk; var App = getApp(); Page({data: {lat:"34.911247",//可设为当前坐标lng:"114.881576",listInfo:[//可删除,接口获取数据{"name": "学校","lat": "34.819828","lng": "114.829617"},{"name": "南湖公园","lat": "34.820110","lng": "114.818974"},{"name": "汽车站","lat": "34.816939","lng": "114.813952"},{"name": "高中","lat": "34.817996","lng": "114.800220"}],info:[]//页面渲染数据},onLoad: function (options) {qqmapsdk = new QQMapWX({key: 'ED7BZ-AUWLW-IGHRD-OUWOA-DMS73-FLFWO'});var that = this;},onReady: function () {//获取当前坐标var that = this;wx.getLocation({type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'success: function (res) {var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。var speed = res.speed; // 速度,以米/每秒计var accuracy = res.accuracy; // 位置精度// that.setData({// lat: latitude,// lng: longitude// }); }});},onShow: function () {this.GetChangeJl();},GetChangeJl:function(){var that = this;var listBox = that.data.listInfo;var strs = ‘’;for(var i = 0; iif (i+1 < listBox.length){ strs += listBox[i].lat + "," + listBox[i].lng + ";" }else{ strs += listBox[i].lat + "," + listBox[i].lng }){
};//列出所有的地图ip,然后再函数中直接调用 qqmapsdk.calculateDistance({from: {latitude: that.data.lat,longitude: that.data.lng},to: strs, //strs为字符串,末尾的“;”要去掉success: function (res) {var dataList = that.data.listInfo;var lists = res.result.elements;// console.log(lists.distance)var box = [];for (var x = 0; x < lists.length; x++) {var aa = lists[x].distance / 1000;// console.log(aa.toFixed)//保留一位小数box[x]={"name": listBox[x].name,"lat": listBox[x].lat,"lng": listBox[x].lng,"juli": aa.toFixed(1)}};that.setData({info: box});},fail: function (res) {// console.log(res); },complete: function (res) {// console.log(res); }})}, })
转载于:https://www.cnblogs.com/hermitks/p/9350477.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
