먼저 왼쪽 위와 오른쪽 아래 점을 얻으려면 일부 지오메트리를 사용해야합니다. 이 페이지 : https://gis.stackexchange.com/questions/2951/algorithm-for-offsetting-a-latitude-longitude-by-some-amount-of-meters은 미터에서 십진수로 정확하게 변환하는 좋은 예입니다.
예를 들어, 왼쪽 위 점을 얻으려면 선의 중간 점부터 시작하고 선의 전체 길이가 있으므로 선의 길이를 2를 입력 한 다음 해당 길이를 미터에서 십진 도로 변환 한 다음 해당 양만큼 X 좌표를 더하십시오. 그러면 오른쪽 상단이 나타납니다. 왼쪽 아래 모서리에 대해 빼기 대신 해당 양을 뺍니다. Simple calculations for working with lat/lon + km distance? 위의 코드 조각에서 DECIMAL_DEGREES_PER_METER 값을 얻는 방법을 설명합니다
var upperMiddlePoint = [30,50];
var segmentLength = 5000;
var northEastPoint = upperMiddlePoint;
var northEastPoint.x = northEastPoint.x + ((segmentLength/2) * DECIMAL_DEGREES_PER_METER)
여기에 빠르고 쉽게 답이있다.
사각형 테두리를 나타내는 LatLngBounds
개체를 만들려면 다음을 수행하십시오. , here를 설명 된대로 지점이이 범위 내에 있다면 API Here.
var bounds = new L.LatLngBounds(southWestPoint, northEastPoint);
는 결정하기 LatLngBounds.contains()
기능을 사용하십시오. 경계가없는 경우는 false 점을 포함하는 경우
var contains = bounds.contains([50, 30]);
if (contains) {
doStuff();
}
contains
부울 사실 일 것입니다.
위의 기능을 알고 있습니다. 질문에 언급 된 데이터가있을 때 southWestPoint 및 northEastPoint를 계산하는 방법에 대한 내 질문은 무엇입니까 – user1628340
그러면 기하학의 간단한 문제처럼 보입니다. 왼쪽 상단 모서리를 얻기 위해 중점 상단 모서리 X 좌표에서 모서리 길이의 1/2 (500m)을 뺍니다. 그럼 바닥을 위해 똑같이합니까? –
설명을 위해 내 대답의 시작 부분에 몇 가지 코드를 추가했습니다. –