项目说明
- 地图自动定位,获取坐标;或PC端单击事件获取坐标;
- 返回指定半径范围的坐标;
var p0 = [121.548181, 29.806906];//自动定位坐标,array
var data = [
{name: 1, points: "116.434027,39.941037"},
{name: 2, points: "116.461665,39.941564"}
]
var newArr = [];
for (var i = 0; i < data.length; i++) {
var p = [data[i].points.split(",")[0], data[i].points.split(",")[1]];
newArr.push({name: data[i].name, distance: getDistance(p0, p)})
}
console.log(newArr.sort(getSortFun('asc', 'distance')));
// 返回 p1 到 p2 间的地面距离,单位:米
function getDistance(p, p0) {
var dis = AMap.GeometryUtil.distance(p, p0);
return dis.toFixed(2);
}
//console.log(getDistance(p0, p1));
数组排序
//数组排序 2021-10-20
function getSortFun(order, sortBy) {
var ordAlpah = (order == 'asc') ? '>' : '<';
var sortFun = new Function('a', 'b', 'return a.' + sortBy + ordAlpah + 'b.' + sortBy + '?1:-1');
return sortFun;
}
@lockdata.cn