2011-10-10 2 views
0

내 iPhone 앱에서지도 기능을 사용하고 있습니다. 지도상의 현재 위치를 사용자에게 표시합니다. 사용자가지도를 스크롤 할 때마다 새로운 위치의 점포가 표시되어야합니다. 예.
뉴욕에 첫 번째 앱은 뉴욕 매장을 표시하지만 텍사스로지도를 스크롤하면 앱에서 텍사스 위치에 대한 웹 서비스 요청을 실행해야합니다. 내 문제는iPhone 앱에서지도보기 새로 고침

1) 웹 서비스 요청이 각지도 스크롤로 이동하면 앱이 충돌하여 새로운 상점 세트에 대한 응답을 기다릴 수 있습니다. (이를 위해 요청을 보내기 위해 하드 코딩 된 반경을 넣을 것입니다.) 그래서 어떻게 적절하게 처리 할 것인가. 2) 두 위치 사이의 거리가 특정 값보다 큰 경우에만 서버에 요청을 보낼 수 있도록 두 위치 간의 거리를 알고 싶습니다.

위의 기능을 위해 맵보기 대리자를 사용하고 있습니다. 그것을 처리 할 수있는 적절한 방법을 제안 해주십시오.

감사

답변

0

그럼 내가이 당신을 도울 수 있다면

CLLocation *location1 = [[CLLocation alloc]initWithLatitude:[[dict valueForKey:@"lat"] doubleValue] longitude:[[dict valueForKey:@"lon"]doubleValue]]; 
float distance =[mUserCurrentLocation distanceFromLocation:location1]/1000;  
float distanceinMeters=[mUserCurrentLocation distanceFromLocation:location1];  NSString *distancestr= [NSString stringWithFormat:@"%.2f KM",distance]; 

참조 사용 2 점 사이의 거리를 찾을 수 있습니다.

+0

위와 같이 사용하면 스크롤 할 때마다 전화를받을 웹 서비스 요청을 처리하는 방법이 달라질 수 있습니다. – Swapnil

+0

만약 당신이 2 포인트 위도가 있다면 .. 위의 함수와 거리를 계산하고 몇 가지 조건을 넣어 (거리> 100) 다음 당신이하고 싶은 일을 할 .... 내가 당신을 도울 수있다 .. ... – Sabby