// 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 ~ -90
var 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; i <listBox.length;i ++){
if (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);
}
})
},
})