-1

나는 위치의 좌표를 사용자의 현재 좌표와 비교합니다. 거리는 다음과 같이 출력됩니다 : 6056609.511004132946254686위치의 좌표를 사용자의 현재 좌표와 비교하는 방법

이것이 어떤 측정인지는 확실하지 않습니다. 최종 측정 거리를 km로 원합니다. 애플 문서에서 미터에서

// location of deal 
CLLocation *locA = [[CLLocation alloc] initWithLatitude:latNum longitude:lngNum]; 

// user's current location 
CLLocation *locB = [[CLLocation alloc] initWithLatitude:currentLatitude longitude:currentLongitude]; 

CLLocationDistance distanceToDeal = [locA distanceFromLocation:locB]; 
+1

이 이유는 무엇입니까? –

+1

@ АртёмЦарионов -1 "이 질문은 연구 노력을 보이지 않습니다"라는 교과서 예제이기 때문에 -1. 이 방법에 대한 도움말을 가져 오면 리턴 코드에 대한 설명이 하나 있습니다 : "두 위치 간 거리 (미터)". 더 명확하지 않을 수 있습니다. 사람들은 질문을 올리기 전에 문서를 읽어야합니다. – Rob

답변

2

Apple doc에 설명 된대로 distanceFromLocation 함수는 미터 단위로 반환 값을 전달합니다. 그래서 당신이해야 할 일은 킬로미터로 미터를 변환하는 것입니다.)

CLLocation *locA = [[CLLocation alloc] initWithLatitude:latNum longitude:lngNum]; 
CLLocation *locB = [[CLLocation alloc] initWithLatitude:currentLatitude longitude:currentLongitude]; 

//Compute distance in meters 
CLLocationDistance distanceToDeal = [locA distanceFromLocation:locB]; 

//Convert meters to km 
double km = distanceToDeal/1000; 
2

: 기존 위치에서

CLLocationDistance

(미터) 거리 측정. 나중에 아이폰 OS 2.0 이상에서 사용할 수

typedef double CLLocationDistance

가용성. CLLocation.h에 선언 됨

4

설명서의 대부분을 읽으면이 사실을 알 수 있습니다. 당신이 (엑스 코드 4.5을 눌러 명령 + 옵션 + 2 또는 "보기"메뉴의 "유틸리티"섹션은 "빠른 도움말 관리자"를 선택) 빠른 도움말 경위 켠 경우 클릭 코드에서 distanceFromLocation에이 메서드에 대한 설명서가 있으므로 미터 단위임을 분명히 알 수 있습니다. 또는 옵션 키를 코드에서 distanceFromLocation 메서드 위로 마우스를 이동 한 다음 (옵션 키를 계속 누르고 있으면) 온라인 도움말 팝업이 표시됩니다.

여기에 질문을 올리기 전에 Apple 설명서를 참조하십시오.