Маркер

Публичный финальный класс Маркер расширяет объект

Значок, размещенный в определенной точке поверхности карты. Значок маркера рисуется ориентированным на экран устройства, а не на поверхность карты; т. е. он не обязательно изменит ориентацию из-за поворота, наклона или масштабирования карты.

Маркер обладает следующими свойствами:

Альфа
Устанавливает непрозрачность маркера. По умолчанию 1.0.
Якорь
Точка на изображении, которая будет помещена в положение LatLng маркера. По умолчанию это 50% от левой части изображения и внизу изображения.
Позиция
Значение LatLng для положения маркера на карте. Вы можете изменить это значение в любой момент, если захотите переместить маркер.
Заголовок
Текстовая строка, которая отображается в информационном окне, когда пользователь касается маркера. Вы можете изменить это значение в любое время.
Фрагмент
Дополнительный текст, отображаемый под заголовком. Вы можете изменить это значение в любое время.
Икона
Растровое изображение, отображаемое для маркера. Если значок не установлен, отображается значок по умолчанию. Вы можете указать альтернативный цвет значка по умолчанию, используя defaultMarker(float) .
Перетащите статус
Если вы хотите разрешить пользователю перетаскивать маркер, установите для этого свойства значение true . Вы можете изменить это значение в любое время. По умолчанию установлено значение false .
Видимость
По умолчанию маркер виден. Чтобы сделать маркер невидимым, установите для этого свойства значение false . Вы можете изменить это значение в любое время.
Квартира или рекламный щит
Если маркер ровно прилегает к карте, он останется приклеенным к карте при вращении и наклоне камеры, но останется того же размера при масштабировании камеры, в отличие от GroundOverlay . Если маркер представляет собой рекламный щит, он всегда будет нарисован лицом к камере и будет вращаться и наклоняться вместе с камерой. По умолчанию используется рекламный щит ( false ).
Вращение
Поворот маркера в градусах по часовой стрелке вокруг точки привязки маркера. Ось вращения перпендикулярна маркеру. Поворот 0 соответствует положению маркера по умолчанию. Если маркер расположен ровно на карте, по умолчанию положение выравнивается по северу, а вращение такое, что маркер всегда остается плоским на карте. Если маркер представляет собой рекламный щит, его положение по умолчанию — направлен вверх, а вращение таково, что маркер всегда обращен к камере. Значение по умолчанию — 0.
zИндекс
Порядок рисования маркера. Маркеры рисуются в порядке zIndex, причем самый высокий маркер zIndex отображается сверху. Установив свойство zIndex для каждого маркера, вы можете контролировать, какую цель касания ваш пользователь с наибольшей вероятностью достигнет. Значение по умолчанию — 0.
Ярлык
Object , связанный с маркером. Например, Object может содержать данные о том, что представляет собой маркер. Это проще, чем хранить отдельный Map<Marker, Object> . В качестве другого примера вы можете связать идентификатор String , соответствующий идентификатору из набора данных. Google Maps SDK для Android не читает и не записывает это свойство.

Методы этого класса должны вызываться в потоке пользовательского интерфейса Android. В противном случае во время выполнения будет создано исключение IllegalStateException .

Пример

GoogleMap map = ... // get a map.
 // Add a marker at San Francisco.
 Marker marker = map.addMarker(new MarkerOptions()
     .position(new LatLng(37.7750, 122.4183))
     .title("San Francisco")
     .snippet("Population: 776733"));
 

Руководство разработчика

Для получения дополнительной информации прочтите руководство разработчика маркеров .

Сводка вложенных классов

@интерфейс Marker.CollisionBehavior Указывает, как обрабатывается маркер при столкновении с другими маркерами или метками базовой карты.

Краткое описание общедоступного метода

логическое значение
равно (Другой объект)
Проверяет, равен ли этот Marker другому.
плавать
получитьАльфа ()
Получает альфу маркера.
Нить
получитьИд ()
Получает идентификатор этого маркера.
ШиротаДлительность
получитьПозицию ()
Возвращает позицию маркера.
плавать
получитьВращение ()
Получает поворот маркера.
Нить
получитьСниппет ()
Получает фрагмент маркера.
Объект
получитьТег ()
Получает тег для маркера.
Нить
получить заголовок ()
Получает заголовок маркера.
плавать
получитьZИндекс ()
Возвращает zIndex маркера.
интервал
пустота
скрытьинформоокно ()
Скрывает информационное окно, если оно отображается от этого маркера.
логическое значение
isDraggable ()
Получает возможность перетаскивания маркера.
логическое значение
isFlat ()
Получает плоскую настройку маркера.
логическое значение
isInfoWindowShown ()
Возвращает, отображается ли в данный момент информационное окно над этим маркером.
логическое значение
isVisible ()
Получает настройку видимости этого маркера.
пустота
удалять ()
Удаляет этот маркер с карты.
пустота
setAlpha (плавающая альфа)
Устанавливает альфу (непрозрачность) маркера.
пустота
setAnchor (float привязкаU, плавающая привязкаV)
Устанавливает точку привязки для маркера.
пустота
setDraggable (логическое перетаскивание)
Устанавливает возможность перетаскивания маркера.
пустота
setFlat (логическое значение Flat)
Устанавливает, должен ли этот маркер располагаться ровно на карте true или рекламный щит, обращенный к камере false .
пустота
setIcon ( BitmapDescriptor iconDescriptor)
Устанавливает значок для маркера.
пустота
setInfoWindowAnchor (float привязкаU, плавающая привязкаV)
Указывает точку на изображении маркера, к которой привязывается информационное окно при его отображении.
пустота
setPosition ( LatLng latlng)
Устанавливает местоположение маркера.
пустота
setRotation (вращение с плавающей запятой)
Задает поворот маркера в градусах по часовой стрелке вокруг точки привязки маркера.
пустота
setSnippet (фрагмент строки)
Устанавливает фрагмент маркера.
пустота
setTag (тег объекта)
Устанавливает тег для маркера.
пустота
setTitle (строковое название)
Устанавливает заголовок маркера.
пустота
setVisible (видимое логическое значение)
Устанавливает видимость этого маркера.
пустота
setZIndex (zIndex с плавающей запятой)
Устанавливает zIndex маркера.
пустота
шоуинфоокно ()
Показывает информационное окно этого маркера на карте, если этот маркер isVisible() .

Сводка унаследованных методов

Публичные методы

общедоступное логическое значение равно (другой объект)

Проверяет, равен ли этот Marker другому.

Параметры
другой Object .
Возврат
  • true, если оба объекта являются одним и тем же объектом, то есть this ==other.

общедоступное число с плавающей запятой getAlpha ()

Получает альфу маркера.

Возврат
  • альфа маркера в диапазоне [0, 1].

общедоступная строка getId ()

Получает идентификатор этого маркера. Идентификатор будет уникальным среди всех маркеров на карте.

Возврат
  • идентификатор этого маркера.

общественная LatLng getPosition ()

Возвращает положение маркера.

Возврат
  • Объект LatLng , определяющий текущую позицию маркера.

общедоступный float getRotation ()

Получает поворот маркера.

Возврат
  • поворот маркера в градусах по часовой стрелке от положения по умолчанию.

публичная строка getSnippet ()

Получает фрагмент маркера.

Возврат
  • Строка, содержащая фрагмент маркера.

общедоступный объект getTag ()

Получает тег для маркера.

Возврат
  • тег, если тег был установлен с помощью setTag ; null , если тег не установлен.

публичная строка getTitle ()

Получает заголовок маркера.

Возврат
  • Строка, содержащая заголовок маркера.

общедоступное число с плавающей запятой getZIndex ()

Возвращает zIndex маркера.

Возврат
  • zIndex этого маркера.

public int hashCode ()

общественная недействительность скрытьInfoWindow ()

Скрывает информационное окно, если оно отображается от этого маркера.

Этот метод не имеет никакого эффекта, если этот маркер не виден.

общедоступное логическое значение isDraggable ()

Получает возможность перетаскивания маркера. Когда маркер можно перетаскивать, пользователь может перемещать его, долго нажимая на маркер.

Возврат
  • true , если маркер можно перетаскивать; в противном случае возвращает false .

публичное логическое значение isFlat ()

Получает плоскую настройку маркера.

Возврат
  • true , если маркер ровно прилегает к карте; false , если маркер должен быть обращен к камере.

общедоступное логическое значение isInfoWindowShown ()

Возвращает, отображается ли в данный момент информационное окно над этим маркером. При этом не учитывается, действительно ли информационное окно видно на экране.

общедоступное логическое значение isVisible ()

Получает настройку видимости этого маркера. Обратите внимание: это не указывает на то, находится ли маркер в области просмотра экрана. Он указывает, будет ли нарисован маркер, если он содержится в области просмотра экрана.

Возврат
  • видимость этого маркера.

public void удалить ()

Удаляет этот маркер с карты. После удаления маркера поведение всех его методов не определено.

public void setAlpha (альфа с плавающей запятой)

Устанавливает альфу (непрозрачность) маркера. Это значение от 0 до 1, где 0 означает, что маркер полностью прозрачен, а 1 означает, что маркер полностью непрозрачен.

Параметры
альфа

public void setAnchor (floatnchorU, floatanchorV)

Устанавливает точку привязки для маркера.

Якорь указывает точку на изображении значка, которая привязана к положению маркера на поверхности Земли.

Точка привязки указывается в непрерывном пространстве [0,0, 1,0] x [0,0, 1,0], где (0, 0) — верхний левый угол изображения, а (1, 1) — нижний правый угол. Точкой привязки на изображении Ш x В является ближайшая дискретная точка сетки в сетке (W + 1) x (H + 1) , полученная путем масштабирования последующего округления. Например, в изображении 4 x 2 точка привязки (0,7, 0,6) преобразуется в точку сетки (3, 1).

 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----+-----+
 |     |     |   X |     |   (U, V) = (0.7, 0.6)
 |     |     |     |     |
 *-----+-----+-----+-----*
 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----X-----+   (X, Y) = (3, 1)
 |     |     |     |     |
 |     |     |     |     |
 *-----+-----+-----+-----*
 

Параметры
якорьU u-координата привязки, как отношение ширины изображения (в диапазоне [0, 1]).
якорьV v-координата привязки, как отношение высоты изображения (в диапазоне [0, 1]).

public void setDraggable (логическое перетаскивание)

Устанавливает возможность перетаскивания маркера. Когда маркер можно перетаскивать, пользователь может перемещать его, долго нажимая на маркер.

Параметры
перетаскиваемый

public void setFlat (логическое число)

Устанавливает, должен ли этот маркер располагаться ровно на карте true или рекламный щит, обращенный к камере false .

Параметры
плоский

public void setIcon ( BitmapDescriptor iconDescriptor)

Устанавливает значок для маркера.

Параметры
значокДескриптор если значение равно нулю, используется маркер по умолчанию.

public void setInfoWindowAnchor (float привязкаU, плавающая привязкаV)

Указывает точку на изображении маркера, к которой привязывается информационное окно при его отображении. Он указывается в той же системе координат, что и якорь. Дополнительную информацию см. в setAnchor(float, float) . По умолчанию используется верхняя середина изображения.

Параметры
якорьU u-координата привязки информационного окна, выраженная как отношение ширины изображения (в диапазоне [0, 1]).
якорьV v-координата привязки информационного окна, как отношение высоты изображения (в диапазоне [0, 1]).

public void setPosition ( LatLng latlng)

Устанавливает местоположение маркера.

Параметры
широта

public void setRotation (вращение с плавающей запятой)

Задает поворот маркера в градусах по часовой стрелке вокруг точки привязки маркера. Ось вращения перпендикулярна маркеру. Поворот 0 соответствует положению маркера по умолчанию.

Параметры
вращение

public void setSnippet (фрагмент строки)

Устанавливает фрагмент маркера.

Параметры
фрагмент если значение равно нулю, фрагмент очищается.

public void setTag (тег объекта)

Устанавливает тег для маркера.

Вы можете использовать это свойство, чтобы связать произвольный Object с этим маркером. Например, Object может содержать данные о том, что представляет собой маркер. Это проще, чем хранить отдельный Map<Marker, Object> . В качестве другого примера вы можете связать идентификатор String , соответствующий идентификатору из набора данных. Google Maps SDK для Android не читает и не записывает это свойство. Вы обязаны вызвать setTag(null) для очистки тега, когда он вам больше не нужен, чтобы предотвратить утечки памяти в вашем приложении.

Параметры
ярлык если значение равно нулю, тег очищается.

public void setTitle (строковый заголовок)

Устанавливает заголовок маркера.

Параметры
заголовок если значение равно нулю, заголовок очищается.

public void setVisible (видимое логическое значение)

Устанавливает видимость этого маркера. Если установлено значение false и для этого маркера в данный момент отображается информационное окно, информационное окно будет скрыто.

Параметры
видимый

public void setZIndex (zIndex с плавающей запятой)

Устанавливает zIndex маркера.

Параметры
zИндекс

общественная пустота showInfoWindow ()

Показывает информационное окно этого маркера на карте, если этот маркер isVisible() .

Броски
IllegalArgumentException если marker нет на этой карте