
image.png
//得到多个位置的距离以及车程
const getList = val => {
data.value=[]
//这是根据搜索框搜索来的位置信息
qqmapsdk.value.getSuggestion({
keyword: val,
success: res => {
console.log(res);
//把这些目的地 按照接口规定的格式存起来
let addrList = "";
res.data.map(item => {
addrList += `${item.location.lat},${item.location.lng};`;
});
addrList = addrList.substring(0, addrList.length - 1);
//存距离和车程
let matrixList = [];
//调取api 进行距离计算 , 车程计算
uni.request({
url: "https://apis.map.qq.com/ws/distance/v1/matrix",
method: "POST",
data: {
mode: "driving", //开车
to: addrList, //目的地
from: userAdds.value.latitude + "," + userAdds.value.longitude, //出发地
key: "key"
},
success: response => {
//得到数据
matrixList = response.data.result.rows[0].elements;
res.data.forEach((item, index) => {
//时分秒转换
const seconds = matrixList[index].duration;
const hours = Math.floor(seconds / 3600);
const minutes = Math.floor((seconds % 3600) / 60);
const remainingSeconds = seconds % 60;
const formattedTime = `${hours}:${minutes}:${remainingSeconds}`;
let obj = {
title: item.title,
distance: matrixList[index].distance, //记录米数
time: formattedTime, //记录秒数
coordinate: {
latitude: item.location.lat,
longitude: item.location.lng
}
};
data.value.push(obj);
});
// console.log(data.value, "data------data");
}
});
}
});
};