2013-06-06 3 views
2

두 개의 CLLocations 사이의 거리를 구하는 방법에 대해 많은 질문과 답변이 있습니다. 그러나 나는 이것을 다른 방법으로하는 방법에 대한 하나의 힌트를 찾지 못했습니다.다른 위치에서 거리를 기준으로 위치를 계산하십시오.

구체적인 상황은 다음과 같습니다. 하나의 CLLocation, 하나의 거리 (200 미터라고 가정 해 봅시다) 및 한 방향이 있습니다. 이제 첫 번째 위치에서 200m 떨어진 위치 (지정된 방향)를 계산하는 방법을 알아야합니다. 나는 그 방향에 가장 적합한 형식이 무엇인지 모릅니다. 어쩌면 최고는도 (북쪽 = 0, 동쪽 = 90, 남쪽 = 180, 서쪽 = 270) 일 것입니다. 간단히 말해서

, 나는

-(CLLocation*)locationWithDistance:(int)meters inDirection:(int)degrees fromLocation:(CLLocation*)origin; 

도와 주셔서 감사합니다 많은 같이 정의 할 수있는 방법이 필요합니다. 더 정확한 방법의 사용을 위해

+2

이 질문의 톤 수도 있습니다. 하나 있습니다 : http://stackoverflow.com/questions/6633850/calculate-new-coordinate-x-meters-and-y-degree-away-from-one-coordinate – Anna

+0

잘못된 키워드를 찾은 것 같습니다. 감사. – Chris

답변

0

이미 정확하게 작성된 C 코드가 있습니다. 그것은 github here에 게시됩니다. UtilitiesGeo.c/.h 파일에는 함수의 차수 및 라디안 버전이 있습니다. Objective-C 스타일로 작성되었을 수도 있었지만 C 기반 프로젝트로 이식 할 수 있기를 원했습니다.

/*------------------------------------------------------------------------- 
* Given a starting lat/lon point on earth, distance (in meters) 
* and bearing, calculates destination coordinates lat2/lon2. 
* 
* all params in degrees 
*-------------------------------------------------------------------------*/ 
void destCoordsInDegrees(double lat1, double lon1, 
         double distanceMeters, double bearing, 
         double* lat2, double* lon2); 
관련 문제