Базовые классы

Описание

В данном разделе описаны базовые классы, которые часто встречаются на страницах руководства API карт и необходимы для работы с многими объектами карты.

Класс DG.LatLng

Географическая точка с определенной широтой и долготой.

var latlng = DG.latLng(54.98, 82.89);

Все методы, которые принимают объекты LatLng также принимают широту и долготу в виде простого массива или объекта, то есть данные записи эквивалентны:

map.panTo(DG.latLng(54.98, 82.89));
map.panTo([54.98, 82.89]);
map.panTo({lng: 82.89, lat: 54.98});
map.panTo({lat: 54.98, lng: 82.89});

Конструктор

Конструктор Использование Описание
DG.LatLng( <Number> latitude, <Number> longitude, <Number> altitude? ) DG.latLng(…) DG.latLng([…]) Создает объект, представляющий географическую точку с определенной широтой и долготой (и опционально высотой).

Свойства

Свойство Тип Описание
lat Number Широта в градусах.
lng Number Долгота в градусах.

Методы

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

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

Методы

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

Свойства

Свойство Тип Описание
x Number Координата x.
y Number Координата y.

Методы

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

Класс DG.Bounds

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

var p1 = DG.point(10, 10),
    p2 = DG.point(40, 60),
    bounds = DG.bounds(p1, p2);

Все методы, которые принимают объекты Bounds также принимают их в виде простого массива, то есть границы могут быть указаны как в этом примере:

otherBounds.intersects([[10, 10], [40, 60]]);

Конструктор

Конструктор Использование Описание
DG.Bounds( <Point> topLeft, <Point> bottomRight ) DG.bounds(…)
DG.bounds([…])
Создает объект Bounds на основе левого верхнего и правого нижнего углов.
DG.Bounds( <Point[]> points ) DG.bounds(…) Создает объект Bounds на основе точек, которые будут в него входить.

Свойства

Свойство Тип Описание
min Point Левый верхний угол прямоугольника.
max Point Правый нижний угол прямоугольника.

Методы

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