좌표간 거리를 구하기위해 polyline.length()를 이용고자 합니다.
A라는 값(기준 좌표)과
B라는 배열의 각 값들(여러 좌표들)과의 거리를 비교해가며
해당 조건에 맞는 좌표들만 별도의 배열로 추려내려고 합니다.
searchEngineerInArea(key){
const {engineers, siteMarkers} = this.state;
const selectSite = siteMarkers[key]; //선택한 현장
const distance = this.props.radius;
const arrEngineerPosition = engineers.map((eng) => {
const polyline = new window.daum.maps.Polyline({
map : this.map,
path : [
new window.daum.maps.LatLng(selectSite.position.lat, selectSite.position.lon),
new window.daum.maps.LatLng(eng.position.lat, eng.position.lon)
],
strokeWeight : 0
});
if(polyline.getLength()<=distance){ //좌표 간 거리와 기준 거리를 비교
console.log(selectSite.label+'의 범위 안에 엔지니어가 있습니다.');
return eng;
}else{
console.log('범위 안에 엔지니어가 없습니다.');
}
polyline.setMap(null);
});
console.log(arrEngineerPosition);
};
위는 실제로 작성한 코드부분인대요, 저렇게 하면 polyline 객체가 너무나도 많이 생성되어 비효율적일것아서요… 저기서 polyline객체를 저렇게 계속 생성하지 않고 path만 바꾸어가며 polyline.length() 함수를 적용해볼 수 없을까요??
지식이 얕아 힘이드네요. 도와주세요 ㅎㅎ