项目说明
- 地图自动定位,获取坐标;或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