MapKit: Как получить и установить прямоугольник рамки столкновения в представлении аннотации? - PullRequest
0 голосов
/ 13 апреля 2019

MKAnnotationView документация говорит

Управление коллизиями между представлениями аннотаций

var collisionMode: MKAnnotationView.CollisionMode

Режим столкновения, используемый при интерпретации прямоугольника кадра столкновения.

enum MKAnnotationView.CollisionMode

Константы, указывающие, как интерпретировать прямоугольник рамки столкновения в представлении аннотации.

Я бы хотел отладить некоторые коллизионные поведения, которые я не понимаю.

Итак, как мне получить collision frame rectangle, на который есть ссылка в документации MapKit? Возможно, я попытаюсь нарисовать этот прямоугольник для визуальной отладки.

Как мне установить collision frame rectangle? Может быть, не напрямую, но какой из множества задействованных видов определяет этот прямоугольник?

Это единственная ссылка на этот термин, которую я нашел в MapKit

Редактировать

Используется ли collision frame rectangle только для создания кластеров или же для скрытия кластера с более низким приоритетом отображения?

У меня есть два AnnotationViews, визуально нарисованных друг на друге. Один имеет displayPriority = .required, один имеет displayPriority = .defaultHigh. Нужно исчезнуть. Но где их 1039? Они действительно перекрываются?

1 Ответ

1 голос
/ 13 апреля 2019

Я нашел объяснение здесь .Там написано:
collisionMode: MKAnnotationView.CollisionMode.Два аннотационных вида с одинаковым clusteringIdentifier будут заменены кластерными аннотациями, если карта будет уменьшена настолько, что они сталкиваются.
Но что представляет собой коллизию между двумя аннотационными видами?Чтобы знать это, нам нужен край столкновения.Это может быть:
.rectangle: край - это рамка вида.
.circle: край - это самый большой круг, вписываемый и центрируемый внутри рамки вида.

РЕДАКТИРОВАТЬ:

В документы говорят: Самый эффективный способ предоставления содержимого для представления аннотации является установка его свойства изображения.Представление аннотации автоматически масштабируется к указанному вами изображению и рисует это изображение для его содержимого .Кроме того, существуют другие свойства, которые могут влиять на свойство frame.Таким образом, именно эта автоматически настроенная frame определяет рамку столкновения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...