Перейти к основному содержимому

Базовые типы данных

В данном разделе описаны классы базовых типов данных, которые часто встречаются на страницах руководства 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( <Number> latitude, <Number> longitude, <Number> altitude? ) Создает объект, представляющий географическую точку с определенной широтой и долготой (и опционально высотой).
DG.latLng( <Array> coords ) Ожидает массив вида [Number, Number] или [Number, Number, Number] в качестве аргумента.
DG.latLng( <Object> coords ) Ожидает объект вида {lat: Number, lng: Number} или {lat: Number, lng: Number, alt: Number} в качестве аргумента.

Методы​

МетодВозвращаетОписание
equals( <LatLng> otherLatLng, <Number> maxMargin? ) BooleanВозвращает true, если переданная широта и долгота находится в той же позиции (с небольшой погрешностью). Погрешность, используемую по умолчанию, можно изменить передав аргумент maxMargin.
toString()StringВозвращает строковое представление позиции (удобно при отладке).
distanceTo( <LatLng> otherLatLng ) NumberВозвращает расстояние (в метрах) до переданной широты и долготы, рассчитанное по формуле Haversine.
wrap()LatLng

Возвращает новый объект LatLng, в котором долгота нормализуется в диапазон от -180 до 180 градусов.

toBounds( <Number> sizeInMeters ) LatLngBounds

Возвращает новый объект, LatLngBounds в котором каждая из границ отстоит от указанной точки на sizeInMeters метров.

Свойства​

СвойствоТипОписание
latNumberШирота в градусах.
lngNumberДолгота в градусах.
altNumberВысота в метрах (опционально).

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( <LatLng> southWest, <LatLng> northEast ) Создает объект LatLngBounds, определяя юго-западный и северо-восточный углы прямоугольника.
DG.latLngBounds( <LatLng[]> latlngs) Создает объект LatLngBounds на основе географических точек, которые находятся внутри описываемой области. Удобно использовать, если необходимо подстроить центр и масштаб карты с помощью метода fitBounds.

Методы​

МетодВозвращаетОписание
extend( <LatLng> latlng ) thisРасширяет область таким образом, чтобы в них входила переданная точка.
extend( <LatLngBounds> otherBounds ) thisРасширяет область таким образом, чтобы в них входили переданные границы другой области.
pad( <Number> bufferRatio ) LatLngBoundsВозвращает бо́льшую область, увеличенную на заданный процент в каждом из направлений.
getCenter()LatLngВозвращает центральную точку области.
getSouthWest()LatLngВозвращает крайнюю юго-западную точку области.
getNorthEast()LatLngВозвращает крайнюю северо-восточную точку области.
getNorthWest()LatLngВозвращает крайнюю северо-западную точку области.
getSouthEast()LatLngВозвращает крайнюю юго-восточную точку области.
getWest()NumberВозвращает западную границу (долготу) области.
getSouth()NumberВозвращает южную границу (широту) области.
getEast()NumberВозвращает восточную границу (долготу) области.
getNorth()NumberВозвращает северную границу (широту) области.
contains( <LatLngBounds> otherBounds ) BooleanВозвращает true, если область содержит переданные границы.
contains( <LatLng> latlng ) BooleanВозвращает true, если область содержит переданную точку.
intersects( <LatLngBounds> otherBounds ) BooleanВозвращает true, если границы области пересекают переданные границы хотя бы в одной точке.
overlaps( <Bounds> otherBounds ) BooleanВозвращает true, если границы области перекрывают переданные границы в некотором пространстве.
toBBoxString()StringВозвращает строку с координатами границ в формате 'southwest_lng,southwest_lat,northeast_lng,northeast_lat'. Удобно использовать для отправки запросов к веб-сервисам, возвращающим геоданные.
equals( <LatLngBounds> otherBounds ) 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( <Number> x, <Number> y, <Boolean> round? ) Создает объект Point с заданными координатами x и y, при необходимости округляя значения (если round установлен в true).
DG.point( <Number[]> coords) Ожидает массив вида [x, y].

Методы​

МетодВозвращаетОписание
clone()PointВозвращает копию оригинального объекта.
add( <Point> otherPoint ) PointВозвращает результат сложения координат заданной точки и текущей.
subtract( <Point> otherPoint ) PointВозвращает результат вычитания координат заданной точки из текущей.
divideBy( <Number> num ) PointВозвращает результат деления координат текущей точки на произвольное число.
multiplyBy( <Number> num ) PointВозвращает результат умножения координат текущей точки на произвольное число.
scaleBy( <Point> scale ) PointВозвращает новую точку, каждая координата которой получена умножением на соответствующую координату scale. В терминах линейной алгебры, данная операция производит умножение на матрицу масштабирования, заданную scale.
unscaleBy( <Point> scale ) PointОбратная операция, относительно scaleBy.
round()PointВозвращает копию оригинального объекта с округленными координатами.
floor()PointВозвращает копию оригинального объекта с координатами, округленными вниз.
ceil()PointВозвращает копию оригинального объекта с координатами, округленными вверх.
distanceTo( <Point> otherPoint ) NumberВозвращает декартово расстояние между текущй и заданной точками.
equals( <Point> otherPoint ) BooleanВозвращает true, если заданная точка имеет аналогичные координаты.
contains( <Point> otherPoint ) BooleanВозвращает true, если обе координаты заданной точки меньше (в абсолютных величинах) координат текущей точки.
toString()StringВозвращает строковое представление точки (удобно для отладки).

Свойства​

СвойствоТипОписание
xNumberКоордината x.
yNumberКоордината 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( <Point> topLeft, <Point> bottomRight ) Создает объект Bounds на основе переданных координат (обычно, координат левого-верхнего и правого-нижнего углов).
DG.bounds( <Point[]> points ) Создает объект Bounds на основе массива координат переданных точек.

Методы​

МетодВозвращаетОписание
extend( <Point> point ) thisРасширяет область таким образом, чтобы в нее входила переданная точка.
getCenter( <Boolean> round? ) PointВозвращает центральную точку области.
getBottomLeft()PointВозвращает координаты левого-нижнего угла области.
getTopRight()PointВозвращает координаты правого-верхнего угла области.
getSize()PointВозвращает размер области.
contains( <Bounds> otherBounds ) BooleanВозвращает true, если область содержит переданные границы.
contains( <Point> point ) BooleanВозвращает true, если область содержит переданную точку.
intersects( <Bounds> otherBounds ) BooleanВозвращает true, если границы области пересекают переданные границы хотя бы в одной точке.
overlaps( <Bounds> otherBounds ) BooleanВозвращает true, если границы области перекрывают переданные границы в некотором пространстве.

Свойства​

СвойствоТипОписание
minPointЛевый верхний угол прямоугольной области.
maxPointПравый нижний угол прямоугольной области.