Многоугольник на поверхности земли. Многоугольник может быть выпуклым или вогнутым, он может охватывать 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 этого многоугольника. |
|---|