2011-12-29 1 views
2

Я работаю над приложением карты и согласно требованию, мне нужно показать один вывод для одной области, даже если он имеет несколько пользовательских координат, когда он полностью уменьшен, но когда он приближается к карте, тогда я должен отобразить все в соответствии с его координатами. Я привел пример ниже, чтобы объяснить мою проблему. У меня есть город Нью-Йорк в этом городе У меня есть 100 контактов на моем карте, когда я увеличиваю масштаб своей карты, он должен показывать мне только один примечательный штырь на месте 100 контактов, но когда я увеличиваю масштаб, тогда он должен снова показать 100 pin на карте. Знает ли кто-нибудь об этом. Мне нужно предложение. Обратите внимание, что я получаю все местоположения от веб-сервисов, кроме моего текущего местоположения. Это не должно влиять на приложение, поэтому приложение не должно замедляться.Как показать одиночный вывод аннотации для региона, когда у меня есть несколько координат для этого региона?

Пожалуйста, предложите какое-либо решение.

ответ

6

компании Apple WWDC 2011 видео, «Визуальное информация географически с MapKit ", https://developer.apple.com/videos/wwdc/2011/ показывает, как кластерные аннотации карт - это именно то, что вам нужно.

+0

Я прошел через pdf, предоставленный яблоком, но я не смог получить точного решения. Знаете ли вы, какой класс или код следует использовать, если я хочу разместить булавки в соответствии с моим уровнем масштабирования? –

+0

Я нашел PDF немного загадочным. Видео, хотя и является пошаговым руководством. Как говорит bbarnhart, нет API (или класса), который обладает функциональностью кластеризации MKAnnotation. Apple показывает шаблон дизайна, и вы можете вставлять фрагменты кода из своего проекта Xcode, который показан в видео. –

+0

Исходный код, кажется, не доступен для этого проекта – Daniel

3

Для этого нет API.

Вам нужно будет управлять булавками самостоятельно. Когда пользователь приближается к карте, вам нужно будет решить, в какой момент удалить агрегированный контакт и добавить отдельные контакты. И наоборот, по мере того, как пользователь масштабируется, вам нужно будет удалить отдельные контакты и заменить агрегированным выводом.

Может быть хорошей идеей использовать пользовательский штырь для агрегированного штыря, чтобы предположить, что он представляет собой несколько контактов.

Я думаю, что эта ссылка может помочь вам узнать текущий уровень масштабирования:

Zoom and Region

Ссылка на аналогичный вопрос:

Pin Overlap

4

Конечно, есть контроль за этим ...
Взгляните на OpenClusterMapView, это должно быть именно то, что вам нужно.

Смежные вопросы