Многоугольник на поверхности земли. Многоугольник может быть выпуклым или вогнутым, он может охватывать 180-й меридиан и может иметь незаполненные отверстия. Он имеет следующие свойства:
- Контур
- Контур задается списком вершин, расположенных по часовой стрелке или против часовой стрелки. Не обязательно, чтобы начальная и конечная точки совпадали; если они этого не сделают, многоугольник будет автоматически закрыт. Сегменты линий рисуются между последовательными точками в более коротком из двух направлений (восток или запад).
- Дыры
- Дыра — это область внутри многоугольника, которая не заполнена. Отверстие задается точно так же, как и контур. Отверстие должно полностью находиться внутри контура. Можно указать несколько отверстий, однако перекрывающиеся отверстия не поддерживаются.
- Ширина штриха
- Ширина сегмента линии в пикселях экрана. Ширина постоянна и не зависит от уровня масштабирования камеры. Значение по умолчанию — 10.
- Цвет обводки
- Цвет сегмента линии в формате ARGB, тот же формат, который используется
Color
. Значение по умолчанию — черный (0xff000000
). - Тип ударного соединения
- Тип соединения определяет форму, которая будет использоваться при соединении соседних сегментов линии во всех вершинах контура многоугольника. См.
JointType
для получения информации о поддерживаемых типах соединений. Значение по умолчанию —DEFAULT
. - Узор обводки
- Solid (по умолчанию, представлено
null
) или последовательность объектовPatternItem
, которые будут повторяться вдоль контура многоугольника. Доступные типыPatternItem
:Gap
(определяется длиной зазора в пикселях),Dash
(определяется шириной штриха и длиной штриха в пикселях) иDot
(круг, центрируется по контуру многоугольника, диаметр определяется шириной штриха в пикселях). - Цвет заливки
- Цвет заливки в формате ARGB, тот же формат, который используется
Color
. Значение по умолчанию прозрачное (0x00000000
). Если геометрия полигона указана неправильно (см. выше «Контур и отверстия»), заливка рисоваться не будет. - Z-индекс
- Порядок, в котором этот многоугольник отрисовывается относительно других наложений, включая
Polyline
,Circle
,GroundOverlay
иTileOverlay
, но неMarker
. Наложение с большим z-индексом рисуется поверх наложений с меньшими z-индексами. Порядок наложений с одинаковым значением z-индекса произволен. Значение по умолчанию — 0. - Видимость
- Указывает, является ли полигон видимым или невидимым, т. е. отображается ли он на карте. Невидимый многоугольник не рисуется, но сохраняет все остальные свои свойства. По умолчанию установлено
true
, т. е. видимый. - Геодезический статус
- Указывает, следует ли отображать сегменты многоугольника в виде геодезических, а не прямых линий в проекции Меркатора. Геодезическая – это кратчайший путь между двумя точками на поверхности Земли. Геодезическая кривая строится в предположении, что Земля представляет собой сферу.
- Кликабельность
- Если вы хотите обрабатывать события, возникающие, когда пользователь щелкает многоугольник, установите для этого свойства значение
true
. Вы можете изменить это значение в любое время. По умолчанию установлено значениеfalse
. Если для этого свойства установлено значениеtrue
, ваше приложение будет получать уведомления вGoogleMap.OnPolygonClickListener
зарегистрированный черезsetOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
. - Ярлык
-
Object
, связанный с многоугольником. Например,Object
может содержать данные о том, что представляет собой многоугольник. Это проще, чем хранить отдельныйMap<Polygon, Object>
. В качестве другого примера вы можете связать идентификаторString
, соответствующий идентификатору из набора данных. Google Maps SDK для Android не читает и не записывает это свойство.
Методы этого класса должны вызываться в потоке пользовательского интерфейса Android. В противном случае во время выполнения будет создано IllegalStateException
.
Пример
GoogleMap map;
// ... get a map.
// Add a triangle in the Gulf of Guinea
Polygon polygon = map.addPolygon(new PolygonOptions()
.add(new LatLng(0, 0), new LatLng(0, 5), new LatLng(3, 5), new LatLng(0, 0))
.strokeColor(Color.RED)
.fillColor(Color.BLUE));
Руководство разработчика
Дополнительные сведения см. в руководстве разработчика Shapes .
Краткое описание общедоступного метода
логическое значение | |
интервал | получитьФиллколор () Получает цвет заливки этого многоугольника. |
Список<Список< LatLng >> | получить отверстия () Возвращает снимок дыр этого многоугольника на данный момент. |
Нить | получитьИд () Получает идентификатор этого многоугольника. |
Список< LatLng > | получить очки () Возвращает снимок вершин этого многоугольника на данный момент. |
интервал | getStrokeColor () Получает цвет обводки этого многоугольника. |
интервал | getStrokeJointType () Получает тип штрихового соединения, используемый во всех вершинах контура многоугольника. |
Список <PatternItem> | getStrokePattern () Получает образец обводки контура этого многоугольника. |
плавать | getStrokeWidth () Получает ширину обводки этого многоугольника. |
Объект | получитьТег () Получает тег многоугольника. |
плавать | получитьZИндекс () Получает zIndex этого многоугольника. |
интервал | хэш-код () |
логическое значение | isClickable () Получает кликабельность многоугольника. |
логическое значение | isGeodesic () Определяет, отображается ли каждый сегмент линии как геодезическая или нет. |
логическое значение | isVisible () Получает видимость этого многоугольника. |
пустота | удалять () Удаляет полигон с карты. |
пустота | setClickable (логическое значение, кликабельное) Устанавливает кликабельность многоугольника. |
пустота | setFillColor (целый цвет) Устанавливает цвет заливки этого многоугольника. |
пустота | setGeodesic (логическая геодезическая) Определяет, следует ли рисовать каждый сегмент линии как геодезическую или нет. |
пустота | |
пустота | |
пустота | setStrokeColor (целый цвет) Устанавливает цвет обводки этого многоугольника. |
пустота | setStrokeJointType (int JointType) Устанавливает тип соединения для всех вершин контура многоугольника. |
пустота | setStrokePattern (Список <PatternItem> шаблон) Устанавливает образец обводки контура многоугольника. |
пустота | setStrokeWidth (ширина с плавающей запятой) Устанавливает ширину обводки этого многоугольника. |
пустота | setTag (тег объекта) Устанавливает тег для многоугольника. |
пустота | setVisible (видимое логическое значение) Устанавливает видимость этого многоугольника. |
пустота | setZIndex (zIndex с плавающей запятой) Устанавливает zIndex этого многоугольника. |
Сводка унаследованных методов
Публичные методы
общедоступное логическое значение равно (другой объект)
public int getFillColor ()
Получает цвет заливки этого многоугольника.
Возврат
- цвет в формате ARGB.
общедоступный список<List< LatLng >> getHoles ()
Возвращает снимок дыр этого многоугольника на данный момент. Возвращаемый список является копией списка отверстий, поэтому изменения в отверстиях многоугольника не будут отражены в этом списке, а изменения в этом списке не будут отражены в многоугольнике.
общедоступная строка getId ()
Получает идентификатор этого многоугольника. Идентификатор будет уникальным среди всех полигонов на карте.
общедоступный список < LatLng > getPoints ()
Возвращает снимок вершин этого многоугольника на данный момент. Возвращаемый список является копией списка вершин, поэтому изменения вершин многоугольника не будут отражены в этом списке, а изменения в этом списке не будут отражены в многоугольнике. Чтобы изменить вершины многоугольника, вызовите setPoints(List)
.
public int getStrokeColor ()
Получает цвет обводки этого многоугольника.
Возврат
- цвет в формате ARGB.
public int getStrokeJointType ()
Получает тип штрихового соединения, используемый во всех вершинах контура многоугольника. См. возможные значения в JointType
.
Возврат
- тип ударного сустава.
общедоступный список < PatternItem > getStrokePattern ()
Получает образец обводки контура этого многоугольника.
Возврат
- рисунок штриха.
общедоступное число с плавающей запятой getStrokeWidth ()
Получает ширину обводки этого многоугольника.
Возврат
- ширина в пикселях экрана.
общедоступный объект getTag ()
Получает тег многоугольника.
Возврат
- тег, если тег был установлен с помощью
setTag
;null
, если тег не установлен.
общедоступное число с плавающей запятой getZIndex ()
Получает zIndex этого многоугольника.
Возврат
- zIndex многоугольника.
public int hashCode ()
публичное логическое значение isClickable ()
Получает кликабельность многоугольника. Если многоугольник доступен для щелчка, ваше приложение будет получать уведомления в GoogleMap.OnPolygonClickListener
, когда пользователь щелкает многоугольник. Прослушиватель событий регистрируется через setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
Возврат
-
true
, если многоугольник кликабельен; в противном случае возвращаетfalse
.
общедоступное логическое значение isGeodesic ()
Определяет, отображается ли каждый сегмент линии как геодезическая или нет.
Возврат
-
true
, если каждый сегмент нарисован как геодезическая;false
, если каждый сегмент нарисован в виде прямой линии в проекции Меркатора.
общедоступное логическое значение isVisible ()
Получает видимость этого многоугольника.
Возврат
- видимость этого полигона.
public void удалить ()
Удаляет полигон с карты. После удаления многоугольника поведение всех его методов не определено.
public void setClickable (логическое значение, кликабельно)
Устанавливает кликабельность многоугольника. Если многоугольник доступен для щелчка, ваше приложение будет получать уведомления в GoogleMap.OnPolygonClickListener
, когда пользователь щелкает многоугольник. Прослушиватель событий регистрируется через setOnPolygonClickListener(GoogleMap.OnPolygonClickListener)
.
Параметры
кликабельный | Новая настройка кликабельности многоугольника. |
---|
public void setFillColor (int color)
Устанавливает цвет заливки этого многоугольника.
Параметры
цвет | цвет в формате ARGB |
---|
public void setGeodesic (логическая геодезическая)
Определяет, следует ли рисовать каждый сегмент линии как геодезическую или нет.
Параметры
геодезический | если true , то каждый сегмент рисуется как геодезическая; если false , каждый сегмент рисуется как прямая линия в проекции Меркатора. |
---|
public void setHoles (List<? расширяет List< LatLng >> дыры)
Устанавливает отверстия этого многоугольника. Этот метод возьмет копию дырок, поэтому дальнейшие мутации holes
не окажут влияния на этот многоугольник.
Параметры
дыры | список дыр, где дыра — это список LatLng s. |
---|
public void setPoints (List< LatLng > точек)
Устанавливает точки этого многоугольника. Этот метод возьмет копию точек, поэтому дальнейшие мутации points
не окажут влияния на этот многоугольник.
Параметры
очки | список LatLng , которые являются вершинами многоугольника. |
---|
public void setStrokeColor (int color)
Устанавливает цвет обводки этого многоугольника.
Параметры
цвет | цвет в формате ARGB |
---|
public void setStrokeJointType (int JointType)
public void setStrokePattern (шаблон List< PatternItem >)
Устанавливает образец обводки контура многоугольника. Шаблон обводки по умолчанию — сплошной, представленный null
.
Параметры
шаблон | рисунок штриха. |
---|
public void setStrokeWidth (ширина с плавающей запятой)
Устанавливает ширину обводки этого многоугольника.
Параметры
ширина | ширина в пикселях дисплея. |
---|
public void setTag (тег объекта)
Устанавливает тег для многоугольника.
Вы можете использовать это свойство, чтобы связать произвольный Object
с этим многоугольником. Например, Object
может содержать данные о том, что представляет собой многоугольник. Это проще, чем хранить отдельный Map<Polygon, Object>
. В качестве другого примера вы можете связать идентификатор String
, соответствующий идентификатору из набора данных. Google Maps SDK для Android не читает и не записывает это свойство. Вы обязаны вызвать setTag(null)
для очистки тега, когда он вам больше не нужен, чтобы предотвратить утечки памяти в вашем приложении.
Параметры
ярлык | если значение равно нулю, тег очищается. |
---|
public void setVisible (видимое логическое значение)
Устанавливает видимость этого многоугольника. Когда многоугольник невидим, он не рисуется, но сохраняет все остальные свойства.
Параметры
видимый | если true , то многоугольник виден; если false , то это не так. |
---|
public void setZIndex (zIndex с плавающей запятой)
Устанавливает zIndex этого многоугольника. Полигоны с более высокими индексами zIndices рисуются над полигонами с более низкими индексами.
Параметры
zИндекс | zIndex этого многоугольника. |
---|