Лучшая практика для отображения POI в MapKit iPhone? - PullRequest
0 голосов
/ 11 апреля 2010

Предполагая, что у меня есть база данных POI с их соответствующими координатами (долгота и широта). Каков будет «стандартный» способ отображения POI в виде аннотаций вокруг текущего местоположения пользователя? Для уточнения:

  • Учитывая уровень масштабирования, я думаю, мне нужно искать в базе данных все POI, чье расстояние до текущего местоположения <определенный порог, а затем создавать аннотации для них. Или есть какой-то умнее? </li>
  • Если пользователь увеличивает / уменьшает масштаб, перемещает карту ... Мне нужно будет заново все переделать?
  • Похоже, что MapKit имеет механизм для кэширования / повторного использования аннотаций. Должен ли я сразу создать множество из них, и пусть MapKit решит, что делать при изменении видимой области? Я думаю, что это сделает переход более плавным, но также потребляет больше памяти. Каков ваш опыт с этим?

Спасибо.

1 Ответ

1 голос
/ 11 апреля 2010

На самом деле полагаться на расстояние между текущим местоположением и точками интереса - неправильный подход: оценка расстояний занимает время, вам лучше просто полагаться на регион, отображаемый на вашей карте (свойство region), и проверить, какой из Ваши POI содержатся в этом регионе.

При увеличении / уменьшении регион изменяется, поэтому вам, возможно, придется повторить то же самое.

Смотрите мой ответ здесь: MKMapView загружает все представления аннотаций одновременно (включая те, которые находятся вне текущего прямоугольника)

Этот парень пытается использовать кэширование аннотаций, и мой ответ может помочь вам в вашем случае.

Чтобы проверить, является ли ваша POI отображаемым регионом, я разместил фрагмент кода, который может помочь здесь: Разработка iPhone - это Pin-аннотация в видимой области карты

...