data?.data?.data?.data.map((item,index)=>{ arrayData.push({latitude:Number(item?.lat),longitude:Number(item?.lng) }) }) qqmapsdk.calculateDistance( { from: { latitude: latitude, longitude:longitude, }, to:arrayData, success: function (res){ let distanceData= res.result.elements }, fail: function (res){ console.log(res); } }) 获取距离之后如何放到相应的对象中,并按距离排序
时间: 2024-02-10 15:08:37 浏览: 74
mapdata.json
你可以在 `success` 回调函数中将距离数据放到相应的对象中,然后使用 JavaScript 的 `sort()` 方法对对象数组按距离排序。以下是一个示例代码:
```
data?.data?.data?.data.map((item,index)=>{
arrayData.push({
latitude:Number(item?.lat),
longitude:Number(item?.lng),
distance: null // 添加一个距离属性,初始值为 null
});
});
qqmapsdk.calculateDistance({
from: {
latitude: latitude,
longitude: longitude,
},
to: arrayData,
success: function(res){
let distanceData = res.result.elements;
for(let i=0; i<distanceData.length; i++){
// 将距离数据放到相应的对象中
arrayData[i].distance = distanceData[i].distance;
}
// 使用 sort() 方法对对象数组按距离排序
arrayData.sort(function(a,b){
return a.distance - b.distance;
});
},
fail: function(res){
console.log(res);
}
});
```
这样,`arrayData` 数组中的对象就按距离排序了,你可以根据需求对其进行进一步处理。
阅读全文