2010-04-11 2 views
0

각각의 좌표 (경도 & 위도)를 사용하여 POI 데이터베이스가 있다고 가정합니다. POI를 사용자의 현재 위치 주변의 주석으로 표시하는 "표준"방법은 무엇입니까? 정교하게하려면 줌 수준을 감안할 때 iPhone의 MapKit에 POI를 표시하는 가장 좋은 방법은 무엇입니까?

  • , 나는 그때, 그 거리의 현재 위치 < 특정 임계 값에 대한 모든 POI에 대한 데이터베이스를 검색 그들을 위해 주석을 만들어야 할 것 같아요. 아니면 똑똑한 방법이 있습니까?
  • 사용자가 확대/축소하고지도를 이동하면 모든 것을 다시 실행해야합니까?
  • MapKit에는 주석을 캐시/재사용하는 메커니즘이있는 것으로 보입니다. 지금 당장 그 중 많은 것들을 만들어야하고, 가시 영역이 바뀔 때 MapKit이 무엇을 렌더링할지 결정해야합니까? 나는 이것이 전환을 부드럽게 만들 것이지만 또한 더 많은 메모리를 소비한다고 생각합니다. 이것에 대한 당신의 경험은 무엇입니까?

감사합니다.

답변

1

실제로 현재 위치와 POI 사이의 거리에 의존하는 것은 올바른 접근 방식이 아닙니다. 거리를 평가하는 데 시간이 걸리므로지도에 표시된 지역 (속성 region)에 의지하고 POI는이 지역에 포함됩니다.

확대/축소하면 영역이 변경되므로 동일한 영역을 다시 실행해야 할 수 있습니다. MKMapView loading all annotation views at once (including those that are outside the current rect)

이 사람은 주석의 캐싱을 사용하려고하는 내 대답은 귀하의 경우에 당신을 도울 수 있습니다

여기에 내 대답을 참조하십시오. iPhone Development - Is Pin Annotation in a viewable Map Region

: 당신의 POI가 표시되는 지역 인 경우

확인하기 위해, 나는 여기에 도움이 될 수 코드 조각을 게시
관련 문제