Класс Map3DElement
google.maps.maps3d.Map3DElement
class
extends HTMLElement
implements Map3DElementOptions
library "maps3d"
Map3DElement – это HTML-интерфейс для 3D-карты. Обратите внимание, что для начала отрисовки 3D-карты необходимо задать mode.
<gmp-map-3d autofits-camera-animation="value-name" camera-position="lat,lng,altitude" center="lat,lng,altitude" default-ui-hidden description="string" fov="number" gesture-handling="value-name" heading="number" internal-usage-attribution-ids="id1 id2" map-id="string" max-altitude="number" max-heading="number" max-tilt="number" min-altitude="number" min-heading="number" min-tilt="number" mode="value-name" range="number" roll="number" tilt="number"> </gmp-map-3d>
const {Map3DElement} = await google.maps.importLibrary("maps3d");
Конструктор | |
|---|---|
Map3DElement |
Map3DElement([options])Параметры:
|
Свойства | |
|---|---|
attr: autofits-camera-animation |
Тип входных данных:
AutofitsCameraAnimation optionalТип выходных данных: AutofitsCameraAnimation optionalПо умолчанию:
none.Анимация, которая будет использоваться для автоматического подбора камеры.
HTML-атрибут: autofits-camera-animation="value-name" |
bounds |
Тип входных данных:
LatLngBounds|LatLngBoundsLiteral optionalТип выходных данных: LatLngBounds optionalЕсли задано, ограничивает положение камеры указанными границами широты и долготы. Обратите внимание, что объекты за пределами границ все равно отрисовываются. Границы могут ограничивать как широту, так и долготу, или только широту, или только долготу. Для границ только по широте используйте западную и восточную долготу -180 и 180 соответственно. Для границ только по долготе используйте северную и южную широту 90 и -90 соответственно. |
cameraPosition
attr: camera-position |
Тип входных данных:
LatLngAltitude|LatLngAltitudeLiteral|LatLngLiteral optionalТип выходных данных: LatLngAltitude optionalПоложение камеры, заданное как LatLngAltitude. Если не указано, будет выведено. Если
center не указан, но указан cameraPosition, center будет получен из cameraPosition.. Если оба параметра обновляются в одном цикле выполнения, предпочтение будет отдано cameraPosition. Поля cameraPosition и center могут быть взаимно производными друг от друга в контексте заданных общих значений направления, диапазона, крена и наклона.HTML-атрибут: camera-position="lat,lng,altitude" |
center
attr: center |
Тип входных данных:
LatLngAltitude|LatLngAltitudeLiteral|LatLngLiteral optionalТип выходных данных: LatLngAltitude optionalЦентр карты, заданный как LatLngAltitude, где высота указана в метрах над средним уровнем моря. Обратите внимание, что это не обязательно местоположение камеры, поскольку поле
range влияет на расстояние от камеры до центра карты. Если не задано, по умолчанию используется {lat: 0, lng: 0, altitude: 63170000}. 63 170 000 м – максимально допустимая высота (радиус Земли, умноженный на 10).HTML-атрибут: center="lat,lng,altitude" |
defaultUIHidden
attr: default-ui-hidden |
Тип входных данных:
boolean optionalТип выходных данных: booleanПо умолчанию:
false.Если задано значение
true, все кнопки интерфейса по умолчанию скрыты.HTML-атрибут: default-ui-hidden |
description
attr: description |
Тип входных данных:
string optionalТип выходных данных: string optionalЕсли вы добавите описание специальных возможностей (например, для программ чтения с экрана), оно будет добавлено на карту с указанным значением.
HTML-атрибут: description="string" |
fov
attr: fov |
Тип входных данных:
number optionalТип выходных данных: number optionalУказывает вертикальную зону обзора в градусах. Допустимые значения: от 5,0 до 80,0. Чем выше значение, тем больше видимая область, но могут появиться искажения перспективы. Значение по умолчанию: 35.0.
HTML-атрибут: fov="number" |
gestureHandling
attr: gesture-handling |
По умолчанию:
GestureHandling.GREEDY.Управляет жестами в совместном режиме. Если задано значение
COOPERATIVE, для прокрутки карты нужно использовать клавиши-модификаторы или жесты двумя пальцами. Если задано значение GREEDY, то прокрутка страницы не будет выполняться при действиях пользователя с элементом карты. Если задано значение AUTO, обработка жестов определяется возможностью прокрутки страницы.HTML-атрибут: gesture-handling="value-name" |
heading
attr: heading |
Тип входных данных:
number optionalТип выходных данных: number optionalНаправление карты по компасу в градусах, где север – это ноль. Если наклона нет, то любой крен будет интерпретироваться как курс.
HTML-атрибут: heading="number" |
internalUsageAttributionIds
attr: internal-usage-attribution-ids |
Добавляет идентификатор атрибуции использования в инициализатор, что помогает Google понять, какие библиотеки и примеры полезны для разработчиков, например использование библиотеки кластеризации маркеров. Чтобы отказаться от отправки идентификатора атрибуции использования, можно удалить это свойство. Будут отправлены только уникальные значения. Изменения этого значения после создания экземпляра могут игнорироваться.
HTML-атрибут: internal-usage-attribution-ids="id1 id2" |
language |
Тип входных данных:
string optionalТип выходных данных: string optionalЯзык, на котором будет отображаться базовая карта. По умолчанию используется язык, запрошенный разработчиком при загрузке Maps JS API. |
mapId
attr: map-id |
Тип входных данных:
string optionalТип выходных данных: string optionalУказывает идентификатор карты, который будет использоваться для получения облачного стиля карты.
HTML-атрибут: map-id="string" |
maxAltitude
attr: max-altitude |
Тип входных данных:
number optionalТип выходных данных: number optionalМаксимальная высота над землей, которая будет отображаться на карте. Допустимое значение – от
0 до 63170000 метров (радиус Земли, умноженный на 10).HTML-атрибут: max-altitude="number" |
maxHeading
attr: max-heading |
Тип входных данных:
number optionalТип выходных данных: number optionalМаксимальный угол поворота карты. Допустимое значение – от
0 до 360 градусов. minHeading и maxHeading представляют собой интервал <= 360 градусов, в котором будут разрешены жесты головой. minHeading = 180 и maxHeading = 90 позволят двигаться в направлении [0, 90] и [180, 360]. minHeading = 90 и maxHeading = 180 позволят двигаться в направлении [90, 180].HTML-атрибут: max-heading="number" |
maxTilt
attr: max-tilt |
Тип входных данных:
number optionalТип выходных данных: number optionalМаксимальный угол падения карты. Допустимое значение – от
0 до 90 градусов.HTML-атрибут: max-tilt="number" |
minAltitude
attr: min-altitude |
Тип входных данных:
number optionalТип выходных данных: number optionalМинимальная высота над землей, которая будет отображаться на карте. Допустимое значение – от
0 до 63170000 метров (радиус Земли, умноженный на 10).HTML-атрибут: min-altitude="number" |
minHeading
attr: min-heading |
Тип входных данных:
number optionalТип выходных данных: number optionalМинимальный угол направления (поворота) карты. Допустимое значение – от
0 до 360 градусов. minHeading и maxHeading представляют собой интервал <= 360 градусов, в котором будут разрешены жесты головой. minHeading = 180 и maxHeading = 90 позволят двигаться в направлении [0, 90] и [180, 360]. minHeading = 90 и maxHeading = 180 позволят двигаться в направлении [90, 180].HTML-атрибут: min-heading="number" |
minTilt
attr: min-tilt |
Тип входных данных:
number optionalТип выходных данных: number optionalМинимальный угол падения карты. Допустимое значение – от
0 до 90 градусов.HTML-атрибут: min-tilt="number" |
mode
attr: mode |
Указывает режим, в котором должна отображаться карта. Если не задать этот параметр, карта не будет отрисована.
HTML-атрибут: mode="value-name" |
range
attr: range |
Тип входных данных:
number optionalТип выходных данных: number optionalРасстояние от камеры до центра карты в метрах.
HTML-атрибут: range="number" |
region |
Тип входных данных:
string optionalТип выходных данных: string optionalРегион, для которого нужно отрисовать объекты инфраструктуры на базовой карте. По умолчанию используется регион, указанный разработчиком при загрузке Maps JS API. |
roll
attr: roll |
Тип входных данных:
number optionalТип выходных данных: number optionalКрен камеры вокруг вектора обзора в градусах. Чтобы избежать неоднозначности, при отсутствии наклона любой крен будет интерпретироваться как курс.
HTML-атрибут: roll="number" |
tilt
attr: tilt |
Тип входных данных:
number optionalТип выходных данных: number optionalНаклон вектора обзора камеры в градусах. Если вектор направлен прямо вниз, наклон равен нулю. Вектор, направленный от Земли, имеет наклон
180 градусов.HTML-атрибут: tilt="number" |
attr: default-ui-disabled |
Тип:
boolean optionalПо умолчанию:
false.Если задано значение
true, все кнопки пользовательского интерфейса по умолчанию отключены. Не отключает клавиатуру и управление жестами.HTML-атрибут: default-ui-disabled |
Методы | |
|---|---|
flyCameraAround |
flyCameraAround(options)Параметры:
Возвращаемое значение: нет.
Этот метод вращает камеру вокруг заданного местоположения в течение заданного времени. Анимацию можно повторить заданное количество раз ( FlyAroundAnimationOptions.repeatCount). Камера будет двигаться по часовой стрелке. Местоположение, вокруг которого вращается камера, задается с помощью CameraOptions.center. Это местоположение будет показываться в центре области просмотра во время анимации вращения, когда камера движется вокруг него. Метод является асинхронным, поскольку анимация может начаться только после того, как карта загрузится до определенного уровня. Метод возвращает значение после запуска анимации. Если указать FlyAroundAnimationOptions.repeatCount, вращения не будет, а анимация завершится сразу после начала. |
flyCameraTo |
flyCameraTo(options)Параметры:
Возвращаемое значение: нет.
Этот метод перемещает камеру по параболе из текущего местоположения в заданное конечное местоположение за заданное время. Конечную точку можно задать с помощью параметра CameraOptions.cameraPosition, который определяет точное положение камеры, или параметра CameraOptions.center, который определяет центр видимой области просмотра карты. Метод является асинхронным, поскольку анимация может начаться только после того, как карта загрузится до определенного уровня. Метод возвращает значение после запуска анимации. |
stopCameraAnimation |
stopCameraAnimation()Параметры: нет.
Возвращаемое значение: нет.
Этот метод останавливает любую анимацию полета, которая может выполняться. Камера остается там, где она находится в середине анимации, и не телепортируется в конечную точку. Метод является асинхронным, поскольку анимация может запускаться или останавливаться только после того, как карта загрузится до определенного уровня. Метод возвращает значение после остановки анимации. |
Унаследованные:
addEventListener,
removeEventListener
| |
События | |
|---|---|
gmp-animationend |
function(animationEndEvent)Аргументы:
Это событие активируется, когда заканчивается анимация полета. Это событие всплывает по дереву DOM. |
gmp-camerapositionchange |
function(cameraPositionChangeEvent)Аргументы:
Это событие запускается при изменении свойства cameraPosition элемента Map3DElement. |
gmp-centerchange |
function(centerChangeEvent)Аргументы:
Это событие активируется при изменении свойства center элемента Map3DElement. |
gmp-click |
function(clickEvent)Аргументы:
Это событие активируется при нажатии на элемент Map3DElement. |
gmp-error |
function(mapInitializationErrorEvent)Аргументы:
Это событие активируется, когда не удается инициализировать карту. |
gmp-fovchange |
function(fovChangeEvent)Аргументы:
Это событие запускается при изменении свойства fov элемента Map3DElement. |
gmp-headingchange |
function(headingChangeEvent)Аргументы:
Это событие запускается при изменении свойства heading элемента Map3DElement. |
gmp-map-id-error |
function(mapIdErrorEvent)Аргументы:
Это событие активируется, если свойство mapId элемента Map3DElement недействительно. |
gmp-rangechange |
function(rangeChangeEvent)Аргументы:
Это событие активируется, когда меняется свойство range элемента Map3DElement. |
gmp-rollchange |
function(rollChangeEvent)Аргументы:
Это событие активируется при изменении свойства roll элемента Map3DElement. |
gmp-steadychange |
function(steadyChangeEvent)Аргументы:
Это событие активируется, когда меняется устойчивое состояние Map3DElement. |
gmp-tiltchange |
function(tiltChangeEvent)Аргументы:
Это событие активируется при изменении свойства tilt элемента Map3DElement. |
Интерфейс Map3DElementOptions
google.maps.maps3d.Map3DElementOptions
интерфейс
Объект Map3DElementOptions, используемый для определения свойств, которые можно задать для Map3DElement.
Свойства | |
|---|---|
необязательно |
Тип:
AutofitsCameraAnimation optionalПосмотрите . |
bounds
необязательно |
Тип:
LatLngBounds|LatLngBoundsLiteral optionalПосмотрите Map3DElement.bounds. |
cameraPosition
необязательно |
Тип:
LatLngAltitude|LatLngAltitudeLiteral|LatLngLiteral optionalПосмотрите Map3DElement.cameraPosition. |
center
необязательно |
Тип:
LatLngAltitude|LatLngAltitudeLiteral|LatLngLiteral optionalПосмотрите Map3DElement.center. |
необязательно |
Тип:
boolean optionalПосмотрите . |
defaultUIHidden
необязательно |
Тип:
boolean optionalПосмотрите Map3DElement.defaultUIHidden. |
description
необязательно |
Тип:
string optionalПосмотрите Map3DElement.description. |
fov
необязательно |
Тип:
number optionalПосмотрите Map3DElement.fov. |
gestureHandling
необязательно |
Тип:
GestureHandling optionalПосмотрите Map3DElement.gestureHandling. |
heading
необязательно |
Тип:
number optionalПосмотрите Map3DElement.heading. |
internalUsageAttributionIds
необязательно |
Тип:
Iterable<string> optionalПосмотрите Map3DElement.internalUsageAttributionIds. |
language
необязательно |
Тип:
string optionalПосмотрите Map3DElement.language. |
mapId
необязательно |
Тип:
string optionalПосмотрите Map3DElement.mapId. |
maxAltitude
необязательно |
Тип:
number optionalПосмотрите Map3DElement.maxAltitude. |
maxHeading
необязательно |
Тип:
number optionalПосмотрите Map3DElement.maxHeading. |
maxTilt
необязательно |
Тип:
number optionalПосмотрите Map3DElement.maxTilt. |
minAltitude
необязательно |
Тип:
number optionalПосмотрите Map3DElement.minAltitude. |
minHeading
необязательно |
Тип:
number optionalПосмотрите Map3DElement.minHeading. |
minTilt
необязательно |
Тип:
number optionalПосмотрите Map3DElement.minTilt. |
mode
необязательно |
Тип:
MapMode optionalПосмотрите Map3DElement.mode. |
range
необязательно |
Тип:
number optionalПосмотрите Map3DElement.range. |
region
необязательно |
Тип:
string optionalПосмотрите Map3DElement.region. |
roll
необязательно |
Тип:
number optionalПосмотрите Map3DElement.roll. |
tilt
необязательно |
Тип:
number optionalПосмотрите Map3DElement.tilt. |
Константы MapMode
google.maps.maps3d.MapMode
Библиотека
констант
"maps3d"
Указывает режим, в котором должна отображаться карта.
Эти константы также можно использовать в качестве строк. В TypeScript строковые литералы определяются типом MapModeString.
const {MapMode} = await google.maps.importLibrary("maps3d");
Константы | |
|---|---|
HYBRID |
В этом режиме на спутниковые или фотореалистичные снимки накладывается прозрачный слой с основными улицами. |
|
В этом режиме показывается обычная карта улиц. |
SATELLITE |
В этом режиме карты показываются спутниковые или фотореалистичные снимки, если они доступны. |
Константы GestureHandling
google.maps.maps3d.GestureHandling
Библиотека
констант
"maps3d"
Указывает, как должны обрабатываться события жестов на элементе карты.
Эти константы также можно использовать в качестве строк. В TypeScript строковые литералы определяются типом GestureHandlingString.
const {GestureHandling} = await google.maps.importLibrary("maps3d");
Константы | |
|---|---|
AUTO |
В этом случае карта сама выбирает, как обрабатывать жесты – в режиме cooperative или greedy. Это режим работы по умолчанию. Если карта занимает большую часть родительского элемента прокрутки (обычно это страница, на которой она размещена), так что пользователь не может прокрутить страницу дальше карты, чтобы увидеть другой контент, то карта переходит в режим совместной работы. |
COOPERATIVE |
В этом режиме для прокрутки карты нужно использовать клавиши-модификаторы или жесты двумя пальцами. |
GREEDY |
В этом случае принудительно включается режим greedy, в котором пользователь не может прокручивать страницу, взаимодействуя с элементом карты. |
Константы AutofitsCameraAnimation
google.maps.maps3d.AutofitsCameraAnimation
Библиотека
констант
"maps3d"
Определяет, как должна вести себя камера, когда она перемещается в новое положение, чтобы центрироваться в соответствии с дочерними элементами, для которых было получено согласие.
Эти константы также можно использовать в качестве строк. В TypeScript строковые литералы определяются типом AutofitsCameraAnimationString.
const {AutofitsCameraAnimation} = await google.maps.importLibrary("maps3d");
Константы | |
|---|---|
FLY_TO |
Перемещает камеру в новое положение. |
NONE |
Перемещает объект в новую позицию без анимации. |
Интерфейс FlyAroundAnimationOptions
google.maps.maps3d.FlyAroundAnimationOptions
интерфейс
Параметры настройки для анимации FlyCameraAround.
Свойства | |
|---|---|
camera |
Тип:
CameraOptionsЦентральная точка, на которую должна быть направлена камера во время анимации вращения. Обратите внимание, что ориентация карты будет меняться по мере того, как камера вращается вокруг центральной точки. |
durationMillis
необязательно |
Тип:
number optionalПродолжительность одного цикла анимации в миллисекундах. |
repeatCount
необязательно |
Тип:
number optionalУказывает, сколько раз должна повторяться анимация. Если указать ноль, анимация завершится сразу после начала. Если передано значение Number.Infinity, анимация будет повторяться бесконечно. |
необязательно |
Тип:
number optionalКоличество оборотов вокруг центра за указанное время. Этот параметр определяет общую скорость вращения. Если передать отрицательное число, камера будет вращаться против часовой стрелки, а не по часовой стрелке, как по умолчанию. |
Интерфейс FlyToAnimationOptions
google.maps.maps3d.FlyToAnimationOptions
интерфейс
Параметры настройки для анимации FlyCameraTo.
Свойства | |
|---|---|
endCamera |
Тип:
CameraOptionsМесто, на которое должна быть направлена камера в конце анимации. |
durationMillis
необязательно |
Тип:
number optionalДлительность анимации в миллисекундах. Если задать значение 0, камера сразу переместится в конечную точку. |
Интерфейс CameraOptions
google.maps.maps3d.CameraOptions
интерфейс
Объект CameraOptions, используемый для определения свойств, которые можно задать для объекта камеры. Объектом камеры может быть любой объект, у которого есть положение камеры, например текущее состояние карты или будущее запрошенное состояние анимации.
Свойства | |
|---|---|
altitudeMode
необязательно |
Тип:
AltitudeMode optionalПо умолчанию:
AltitudeMode.ABSOLUTE.Перечисление, указывающее, как интерпретировать значение высоты заданного объекта CameraOptions. При этом используется существующее перечисление AltitudeMode. |
cameraPosition
необязательно |
Тип:
LatLngAltitude|LatLngAltitudeLiteral|LatLngLiteral optionalПосмотрите Map3DElement.cameraPosition. |
center
необязательно |
Тип:
LatLngAltitude|LatLngAltitudeLiteral|LatLngLiteral optionalПосмотрите Map3DElement.center. |
fov
необязательно |
Тип:
number optionalПосмотрите Map3DElement.fov. |
heading
необязательно |
Тип:
number optionalПосмотрите Map3DElement.heading. |
range
необязательно |
Тип:
number optionalПосмотрите Map3DElement.range. |
roll
необязательно |
Тип:
number optionalПосмотрите Map3DElement.roll. |
tilt
необязательно |
Тип:
number optionalПосмотрите Map3DElement.tilt. |
Класс SteadyChangeEvent
google.maps.maps3d.SteadyChangeEvent
class
extends Event
library "maps3d"
Это событие создано на основе мониторинга стабильного состояния Map3DElement. Это событие всплывает по дереву DOM.
const {SteadyChangeEvent} = await google.maps.importLibrary("maps3d");
Свойства | |
|---|---|
isSteady |
Тип:
booleanУказывает, является ли Map3DElement стабильным (т.е. завершен ли рендеринг текущей сцены). |
Класс LocationClickEvent
google.maps.maps3d.LocationClickEvent
class
extends Event
library "maps3d"
Это событие создается при нажатии на Map3DElement.
const {LocationClickEvent} = await google.maps.importLibrary("maps3d");
Свойства | |
|---|---|
position |
Тип:
LatLngAltitude optionalШирота, долгота и высота, на которых находился курсор в момент события. Обратите внимание, что на более грубых уровнях будут возвращаться менее точные данные. Кроме того, если нажать на водную поверхность с более высокой позиции камеры, в качестве значения высоты может быть возвращена высота морского дна. Это событие всплывает по дереву DOM. |
Класс PlaceClickEvent
google.maps.maps3d.PlaceClickEvent
class
extends LocationClickEvent
library "maps3d"
Это событие создается при нажатии на значок места на Map3DElement. Чтобы всплывающее окно по умолчанию не показывалось, вызовите метод preventDefault() для этого события. Тогда оно не будет обрабатываться Map3DElement.
const {PlaceClickEvent} = await google.maps.importLibrary("maps3d");
Свойства | |
|---|---|
placeId |
Тип:
stringИдентификатор места для объекта на карте. |
Унаследованные:
position
| |
Методы | |
|---|---|
fetchPlace |
fetchPlace()Параметры: нет.
Получает Place для этого идентификатора места. В полученном объекте Place будет заполнено свойство id. Дополнительные поля можно запросить позже через Place.fetchFields(). При этом действуют стандартные условия включения и оплаты Places API. Если при получении Place произошла ошибка, объект Promise отклоняется. |