Базовые типы данных
В данном разделе описаны классы базовых типов данных, которые часто встречаются на страницах руководства API карт и которые необходимы для работы с многими объектами карты.
DG.LatLng
Географическая точка с определенной широтой и долготой.
var latlng = DG.latLng(54.98, 82.89);
Все методы, которые принимают объекты LatLng, также принимают широту и долготу в виде простого массива или объекта (если не указано иное), то есть данные записи эквивалентны:
map.panTo([54.98, 82.89]);
map.panTo({ lon: 82.89, lat: 54.98 });
map.panTo({ lat: 54.98, lng: 82.89 });
map.panTo(DG.latLng(54.98, 82.89));
Создание
Конструктор | Описание |
---|---|
DG.latLng(
|
Создает объект, представляющий географическую точку с определенной широтой и долготой (и опционально высотой). |
DG.latLng(
|
Ожидает массив вида [Number, Number] или [Number, Number, Number]
в качестве аргумента. |
DG.latLng(
|
Ожидает объект вида {lat: Number, lng: Number} или
{lat: Number, lng: Number, alt: Number} в качестве аргумента. |
Методы
Метод | Возвращает | Описание |
---|---|---|
equals(
|
Boolean |
Возвращает true , если переданная широта и долгота находится в той же позиции
(с небольшой погрешностью). Погрешность, используемую по умолчанию, можно изменить
передав аргумент maxMargin . |
toString() |
String |
Возвращает строковое представление позиции (удобно при отладке). |
distanceTo(
|
Number |
Возвращает расстояние (в метрах) до переданной широты и долготы, рассчитанное по формуле Haversine. |
wrap() |
LatLng |
Возвращает новый объект |
toBounds(
|
LatLngBounds |
Возвращает новый объект, |
Свойства
Свойство | Тип | Описание |
---|---|---|
lat |
Number |
Широта в градусах. |
lng |
Number |
Долгота в градусах. |
alt |
Number |
Высота в метрах (опционально). |
DG.LatLngBounds
Описывает прямоугольную географическую область на карте.
var southWest = DG.latLng(54.9801, 82.8974),
northEast = DG.latLng(54.9901, 82.9074),
bounds = DG.latLngBounds(southWest, northEast);
Все методы, которые принимают объекты LatLngBounds также принимают их в виде простого массива (если не указано иное), то есть границы могут быть указаны, как в этом примере:
map.fitBounds([
[54.9801, 82.8974],
[54.9901, 82.9074],
]);
Создание
Конструктор | Описание |
---|---|
DG.latLngBounds(
|
Создает объект LatLngBounds , определяя юго-западный и северо-восточный углы прямоугольника. |
DG.latLngBounds(
|
Создает объект LatLngBounds на основе географических точек,
которые находятся внутри описываемой области. Удобно использовать, если необходимо подстроить центр
и масштаб карты с помощью метода fitBounds. |
Методы
Метод | Возвращает | Описание |
---|---|---|
extend(
|
this |
Расширяет область таким образом, чтобы в них входила переданная точка. |
extend(
|
this |
Расширяет область таким образом, чтобы в них входили переданные границы другой области. |
pad(
|
LatLngBounds |
Возвращает бо́льшую область, увеличенную на заданный процент в каждом из направлений. |
getCenter() |
LatLng |
Возвращает центральную точку области. |
getSouthWest() |
LatLng |
Возвращает крайнюю юго-западную точку области. |
getNorthEast() |
LatLng |
Возвращает крайнюю северо-восточную точку области. |
getNorthWest() |
LatLng |
Возвращает крайнюю северо-западную точку области. |
getSouthEast() |
LatLng |
Возвращает крайнюю юго-восточную точку области. |
getWest() |
Number |
Возвращает западную границу (долготу) области. |
getSouth() |
Number |
Возвращает южную границу (широту) области. |
getEast() |
Number |
Возвращает восточную границу (долготу) области. |
getNorth() |
Number |
Возвращает северную границу (широту) области. |
contains(
|
Boolean |
Возвращает true , если область содержит переданные границы. |
contains(
|
Boolean |
Возвращает true , если область содержит переданную точку. |
intersects(
|
Boolean |
Возвращает true , если границы области пересекают переданные границы хотя бы в одной точке. |
overlaps(
|
Boolean |
Возвращает true , если границы области перекрывают переданные границы в некотором пространстве. |
toBBoxString() |
String |
Возвращает строку с координатами границ в формате 'southwest_lng,southwest_lat,northeast_lng,northeast_lat' .
Удобно использовать для отправки запросов к веб-сервисам, возвращающим геоданные. |
equals(
|
Boolean |
Возвращает true , если координаты текущей прямоугольной области эквивалентны переданным
(с небольшой погрешностью). |
isValid() |
Boolean |
Возвращает true , если свойства объекта (данные границ) инициализированы должным образом. |
DG.Point
Точка с пиксельными координатами x и y.
var point = DG.point(200, 300);
Все методы, которые принимают объекты Point
, также принимают
координаты в виде простого массива (если не указано иное), то есть данные записи эквивалентны:
map.panBy([200, 300]);
map.panBy(DG.point(200, 300));
Создание
Конструктор | Описание |
---|---|
DG.point(
|
Создает объект Point с заданными координатами x и y , при необходимости
округляя значения (если round установлен в true ). |
DG.point(
|
Ожидает массив вида [x, y] . |
Методы
Метод | Возвращает | Описание |
---|---|---|
clone() |
Point |
Возвращает копию оригинального объекта. |
add(
|
Point |
Возвращает результат сложения координат заданной точки и текущей. |
subtract(
|
Point |
Возвращает результат вычитания координат заданной точки из текущей. |
divideBy(
|
Point |
Возвращает результат деления координат текущей точки на произвольное число. |
multiplyBy(
|
Point |
Возвращает результат умножения координат текущей точки на произвольное число. |
scaleBy(
|
Point |
Возвращает новую точку, каждая координата которой получена умножением на соответствующую координату
scale . В терминах линейной алгебры, данная операция производит умножение на
матрицу масштабирования,
заданную scale . |
unscaleBy(
|
Point |
Обратная операция, относительно scaleBy . |
round() |
Point |
Возвращает копию оригинального объекта с округленными координатами. |
floor() |
Point |
Возвращает копию оригинального объекта с координатами, округленными вниз. |
ceil() |
Point |
Возвращает копию оригинального объекта с координатами, округленными вверх. |
distanceTo(
|
Number |
Возвращает декартово расстояние между текущй и заданной точками. |
equals(
|
Boolean |
Возвращает true , если заданная точка имеет аналогичные координаты. |
contains(
|
Boolean |
Возвращает true , если обе координаты заданной точки меньше (в абсолютных величинах) координат
текущей точки. |
toString() |
String |
Возвращает строковое представление точки (удобно для отладки). |
Свойства
Свойство | Тип | Описание |
---|---|---|
x |
Number |
Координата x. |
y |
Number |
Координата y. |
DG.Bounds
Описывает прямоугольную область на карте в пиксельных координатах.
var p1 = DG.point(10, 10),
p2 = DG.point(40, 60),
bounds = DG.bounds(p1, p2);
Все методы, которые принимают объекты Point
также принимают их в виде простого массива
(если не указано иное), то есть границы могут быть указаны, как в этом примере:
otherBounds.intersects([
[10, 10],
[40, 60],
]);
Создание
Конструктор | Описание |
---|---|
DG.bounds(
|
Создает объект Bounds на основе переданных координат (обычно, координат левого-верхнего и правого-нижнего углов). |
DG.bounds(
|
Создает объект Bounds на основе массива координат переданных точек. |
Методы
Метод | Возвращает | Описание |
---|---|---|
extend(
|
this |
Расширяет область таким образом, чтобы в нее входила переданная точка. |
getCenter(
|
Point |
Возвращает центральную точку области. |
getBottomLeft() |
Point |
Возвращает координаты левого-нижнего угла области. |
getTopRight() |
Point |
Возвращает координаты правого-верхнего угла области. |
getSize() |
Point |
Возвращает размер области. |
contains(
|
Boolean |
Возвращает true , если область содержит переданные границы. |
contains(
|
Boolean |
Возвращает true , если область содержит переданную точку. |
intersects(
|
Boolean |
Возвращает true , если границы области пересекают переданные границы хотя бы в одной точке. |
overlaps(
|
Boolean |
Возвращает true , если границы области перекрывают переданные границы в некотором пространстве. |
Свойства
Свойство | Тип | Описание |
---|---|---|
min |
Point |
Левый верхний угол прямоугольной области. |
max |
Point |
Правый нижний угол прямоугольной области. |