要求:需要找得到一个某点距离折线最近的折线数组的位置(比如初始在30的半径范围里找,如果没有,在60的范围里找…,依次类推,直到找到最近点的位置)
//lines_arr为折线数组,testcoors1为某点的信息详情,num为半径的范围
getSttartPoint: function (lines_arr,testcoors1,num) {
var singPoint = ''
while(true){
for(var j=0;j<lines_arr.length;j++) {
//找点的判断条件
if(Math.abs(testcoors1.smxy[0] - lines_arr[j][0]) < num && Math.abs(testcoors1.smxy[1] - lines_arr[j][1])<num) {
singPoint = j
break;
}
}
if(singPoint == ''){
num = num+num
}else{
return singPoint
}
}
},
//调用(如果有多个点需要在折线上找对应位置)
for(var i = 0;i<me.testcoors1.length;i++) {
//这里拿到点对应的位置
singPoint = me.getSttartPoint(me.lines_arr,me.testcoors1[i],30)
let tt = {
tempDa:me.testcoors1[i].tempDa,
singPoint:singPoint
}
arrMarker.push(tt)
}
之前卡壳地方:没想到while的循环,方法自己掉自己变量无法处理