Лучшая практика для отображения POI в MapKit iPhone в?

голоса
0

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

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

Благодарю.

Задан 11/04/2010 в 04:07
источник пользователем
На других языках...                            


1 ответов

голоса
1

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

При увеличении / выход, изменяется область, так что вы, возможно, придется повторить то же самое.

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

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

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

Ответил 11/04/2010 в 10:24
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more