MKOverlay
MKOverlay
протокол определяет определенный тип аннотации, представляющей и точку и область на карте. Объекты наложения являются по существу объектами данных, содержащими географические данные, должен был представлять область карты. Например, оверлейные программы могут принять форму общих форм, таких как прямоугольники и круги. Они могут также описать многоугольники и другие сложные формы.
Вы используете оверлейные программы для разделения на уровни более сложного содержания поверх представления карты. Например, Вы могли использовать наложение, чтобы показать границы национального парка или проследить маршрут шины вдоль городских улиц. Платформа Набора Карты определяет несколько реальных классов, соответствующих этому протоколу и определяющих стандартные формы.
Поскольку оверлейные программы являются также аннотациями, у них есть подобный образец использования к аннотациям. Когда добавлено к представлению карты с помощью addOverlay:
метод, то представление обнаруживает каждый раз, когда определенная область наложения пересекает видимую часть карты. В той точке представление карты просит, чтобы его делегат обеспечил специальное представление наложения для рисования визуального представления наложения. Если Вы добавляете наложение к представлению карты как аннотация вместо этого, это обрабатывается как аннотация с единственной точкой.
Наследование
Не применимый
Оператор импорта
Swift
import MapKit
Objective C
@import MapKit;
Доступность
Доступный в OS X v10.9 и позже.
-
координата координата
СвойствоПриблизительная центральная точка области наложения. (требуемый) (только для чтения)
Объявление
Swift
var coordinate: CLLocationCoordinate2D { get }
Objective C
@property(nonatomic, readonly) CLLocationCoordinate2D coordinate
Обсуждение
Эта точка обычно устанавливается в центральную точку ограничительного прямоугольника карты. Это используется в качестве точки привязки для любых выносок, выведенных на экран для аннотации.
Оператор импорта
Objective C
@import MapKit;
Swift
import MapKit
Доступность
Доступный в OS X v10.9 и позже.
-
boundingMapRect boundingMapRect
СвойствоСпроектированный прямоугольник, охватывающий наложение. (требуемый) (только для чтения)
Объявление
Swift
var boundingMapRect: MKMapRect { get }
Objective C
@property(nonatomic, readonly) MKMapRect boundingMapRect
Обсуждение
Это свойство содержит наименьший прямоугольник, полностью охватывающий наложение. Лица, осуществляющие внедрение этого протокола должны установить эту область при реализации их класса наложения, и после установки его, Вы не должны изменять его. Прямоугольник должен быть указан с помощью спроектированных координат — т.е. координаты, полученные путем проектирования земного шара на двумерную поверхность.
Оператор импорта
Objective C
@import MapKit;
Swift
import MapKit
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает булевскую переменную, указывающую, пересекает ли указанный прямоугольник форму получателя.
Объявление
Swift
optional func intersectsMapRect(_
mapRect
: MKMapRect) -> BoolObjective C
- (BOOL)intersectsMapRect:(MKMapRect)
mapRect
Параметры
mapRect
Прямоугольник для пересечения с областью получателя.
Возвращаемое значение
YES
true
если какая-либо часть прямоугольника карты пересекает форму получателя илиNO
false
если это не делает.Обсуждение
Можно реализовать этот метод для обеспечения более определенной проверки границ наложение. Если Вы не реализуете его, ограничительный прямоугольник используется для обнаружения пересечений.
Оператор импорта
Objective C
@import MapKit;
Swift
import MapKit
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает булевскую переменную, указывающую, заменяет ли содержание наложения базовое содержание карты.
Объявление
Swift
optional func canReplaceMapContent() -> Bool
Objective C
- (BOOL)canReplaceMapContent
Возвращаемое значение
YES
true
если представление карты может пропустить загрузку и рисование базовых мозаик карты илиNO
false
если должны все еще быть нарисованы мозаики карты.Обсуждение
Представление карты использует возвращаемое значение этого метода как подсказка, чтобы определить, должно ли это загрузить и представить свои мозаики. Если Ваше наложение покрывает свою определяемую область полностью непрозрачным содержанием, и эффективно заменяет содержание базовых мозаик карты, реализуйте этот метод и возврат
YES
true
. Выполнение так улучшает потребность в карте для рендеринга ее мозаик.Если Вы возвращаетесь, если Вы не реализуете этот метод, или
NO
false
от него представление карты продолжает загружать и представлять его мозаики.Оператор импорта
Objective C
@import MapKit;
Swift
import MapKit
Доступность
Доступный в OS X v10.9 и позже.