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

basic-types

В данном разделе описаны классы базовых типов данных, которые часто встречаются на страницах руководства 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Правый нижний угол прямоугольной области.