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

Введение

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

Класс DG.Point

Определяет x, y-координаты точки в единицах измерения, пикселях. Для наглядности допустим, что myPoint — объект класса DG.Point.

Конструктор

Параметры:

Имя Тип Обязательный Описание
x Number Да Координата точки по оси x в пикселях.
y Number Да Координата точки по оси y в пикселях.

Пример:

var myPoint = new DG.Point(20, 30);

Методы

Создать копию точки
myPoint.clone()

Возвращает:

Тип Описание
DG.Point Новый экземпляр класса DG.Point с такими же координатами, как и у исходной точки myPoint.

Необходимость данного метода связана с тем, что объекты в Javascript передаются «по ссылке», а не «по значению».

Класс DG.Size

Определяет ширину и высоту некой прямоугольной области в пикселях. Для наглядности допустим, что mySize — объект класса DG.Size.

Конструктор

Параметры:

Имя Тип Обязательный Описание
width Number Да Ширина прямоугольной области в пикселях.
height Number Да Высота прямоугольной области в пикселях.

Пример:

var mySize = new DG.Size(20, 40)

Свойства

Имя Тип Описание
width Number Ширина прямоугольной области в пикселях.
height Number Высота прямоугольной области в пикселях.

Методы

Установить размер DOM-элемента
mySize.apply(controlDiv)

Параметры:

Имя Тип Обязательный Описание
controlDiv DOMElement Да Произвольный DOM-элемент.

Устанавливает css-свойства width и height произвольного DOM-элемента. Значения этих свойств соответствуют ширине и высоте, заданных у объекта mySize.

Класс DG.GeoPoint

Определяет географические координаты точки. Для наглядности допустим, что myGeoPoint — объект класса DG.GeoPoint.

Конструктор

Параметры:

Имя Тип Обязательный Описание
lon Number Да Долгота точки.
lat Number Да Широта точки.

Пример:

var myGeoPoint = new DG.GeoPoint(82.927810142519, 55.028936234826);

В результате получим географическую точку с координатами Новосибирска.

Свойства

Имя Тип Описание
lon Number Долгота точки.
lat Number Широта точки.

Методы

Получить долготу точки
myGeoPoint.getLon()

Возвращает:

Тип Описание
Number Долгота точки.
Получить широту точки
myGeoPoint.getLat()

Возвращает:

Тип Описание
Number Широта точки.
Установить долготу точки
myGeoPoint.setLon(lon)

Параметры:

Имя Тип Обязательный Описание
lon Number Да Долгота точки.
Установить широту точки
myGeoPoint.setLat(lat)

Параметры:

Имя Тип Обязательный Описание
lat Number Да Широта точки.
Создать копию точки
myGeoPoint.clone()

Возвращает:

Тип Описание
DG.GeoPoint Новый экземпляр класса DG.GeoPoint с такими же координатами, как и у исходной точки myGeoPoint

Необходимость данного метода связана с тем, что объекты в Javascript передаются «по ссылке», а не «по значению».

Сравнить точки
myGeoPoint.equals(geoPoint, accuracy)

Параметры:

Имя Тип Обязательный Описание
geoPoint DG.GeoPoint Да Экземпляр класса DG.GeoPoint. Точка с которой будет сравниваться текущая точка myGeoPoint.
accuracy Number Нет Точность сравнения точек. Устанавливает количество знаков после запятой, по которым будет производится сравнение координат точек. Если параметр не задан, происходит сравнение с максимальной точностью.

Возвращает:

Тип Описание
Boolean Возвращает true, если точки одинаковы. В противном случае — false.

Класс DG.Bounds

Данный класс определяет прямоугольную область на карте с двумя фиксированными диагональными точками: левая нижняя вершина и правая верхняя вершина. Причем, эти точки задаются в географических координатах. Для наглядности допустим, что myBounds — объект класса DG.Bounds.

Конструктор

Параметры:

Имя Тип Обязательный Описание
leftBottom DG.GeoPoint Да Географическая точка. Левая нижняя вершина прямоугольника, описывающего границы объекта.
rightTop DG.GeoPoint Да Географическая точка. Правая верхняя вершина прямоугольника, описывающего границы объекта.

Пример:

var leftBottom = new DG.GeoPoint(82.927810142519, 55.028936234826);
var rightTop = new DG.GeoPoint(84.986995054343, 56.127329943346);

var myBounds = new DG.Bounds(leftBottom, rightTop);

Методы

Получить левую верхнюю вершину границы
myBounds.getLeftTop()

Возвращает:

Тип Описание
DG.GeoPoint Географическое положение левой верхней вершины границы.
Получить левую нижнюю вершину границы
myBounds.getLeftBottom()

Возвращает:

Тип Описание
DG.GeoPoint Географическое положение левой нижней вершины границы.
Получить правую верхнюю вершину границы
myBounds.getRightTop()

Возвращает:

Тип Описание
DG.GeoPoint Географическое положение левой верхней вершины границы.
Получить правую нижнюю вершину границы
myBounds.getRightBottom()

Возвращает:

Тип Описание
DG.GeoPoint Географическое положение левой нижней вершины границы.
Проверить принадлежность точки границе
myBounds.contains(point)

Параметры:

Имя Тип Обязательный Описание
point DG.GeoPoint Да Географическое положение точки.

Возвращает:

Тип Описание
Boolean Возвращает true, если точка принадлежит границе. В противном случае — false.
Проверить пересечение границ
myBounds.intersects(bounds)

Параметры:

Имя Тип Обязательный Описание
bounds DG.Bounds Да Объект DG.Bounds. Границы объекта

Возвращает:

Тип Описание
Boolean Возвращает true, если границы пересекаются. В противном случае — false.
Получить долготу левой границы
myBounds.getLeft()

Возвращает:

Тип Описание
Number Долгота.
Получить долготу правой границы
myBounds.getRight()

Возвращает:

Тип Описание
Number Долгота.
Получить широту верхней границы
myBounds.getTop()

Возвращает:

Тип Описание
Number Широта.
Получить широту нижней границы
myBounds.getBottom()

Возвращает:

Тип Описание
Number Широта.
Получить копию обьекта DG.Bounds
myBounds.clone()

Возвращает:

Тип Описание
DG.Bounds Объект DG.Bounds. Границы объекта

Класс DG.CollectionBounds

Данный класс наследует DG.Bounds, но в отличие от него принимает в конструкторе массив из точек, что позволяет, например, отцентрировать положение карты по всем имеющимся маркерам или балунам так, чтобы они попали в видимую область. Коллекция может быть пустой.

Конструктор

Параметры:

Имя Тип Обязательный Описание
points Array Нет Массив точек (DG.GeoPoint), по которым выстраивается граница.

Пример:

var point1 = new DG.GeoPoint(82.927810142519, 55.028936234826);
var point2 = new DG.GeoPoint(84.986995054343, 56.127329943346);
var point3 = new DG.GeoPoint(85.657675543453, 57.647852427445);

var myBounds = new DG.CollectionBounds([point1, point2, point3]);

Методы

Добавить точку в границы
collectionBounds.addPoint(point)

Параметры:

Имя Тип Обязательный Описание
point DG.GeoPoint Да Точка, которая будет добавлена.
Удалить точу из границ
collectionBounds.removePoint(point)

Параметры:

Имя Тип Обязательный Описание
point DG.GeoPoint Да Точка, которая будет удалена.
Удалить все точки из границ
collectionBounds.clear()

Класс DG.Converter

Данный класс содержит методы для преобразования координат одного типа в другой. Объект класса DG.Converter существует в единственном экземпляре для каждой карты и доступен в объекте карты.

Пример:

myMap = new DG.Map('map');
var mapCenter = new DG.GeoPoint(82.927810142519,55.028936234826);
myMap.setCenter(mapCenter);
myMap.setZoom(16);

// Узнать географические координаты точки с пиксельными координатами 20,20;
var geoPoint = myMap.converter.mapPixelsToCoordinates(new DG.Point(20,20));

// Узнать пиксельные координаты центра карты;
var mapPoint = myMap.converter.coordinatesToMapPixels(mapCenter);

Методы

Преобразовать пиксель на карте в географическую координату
myMap.converter.mapPixelsToCoordinates(point)

Параметры:

Имя Тип Обязательный Описание
point DG.Point Да Точка на карте, которая будет преобразована.

Возвращает:

Тип Описание
DG.GeoPoint Объект DG.GeoPoint. Соответствующая географическая координата, соответствующая точке на карте.
Преобразовать географическую координату в пиксель на карте
myMap.converter.coordinatesToMapPixels(geopoint)

Параметры:

Имя Тип Обязательный Описание
geopoint DG.GeoPoint Да Географическая точка, которая будет преобразована.

Возвращает:

Тип Описание
DG.Point Объект DG.Point. Точка на карте, соответствующая географической координате.

DG.Cursor

Класс DG.Cursor является статическим и хранит в себе константы, которые необходимы для смены курсоров.

Константы

Имя Описание
ARROW Курсор-стрелка.
CROSSHAIR Курсор в виде перекрестия.
HELP Вопросительный курсор.
INHERIT Унаследованный курсор.
MOVE Курсор в виде четырех стрелок.
POINTER Курсор в виде указательного пальца.

Методы

Установить курсор

Для установки курсора используется метод карты addCursor(cursorType), который подробно описан в разделе Карта.

Удалить курсор

Для удаления курсора используется метод карты removeCursor(cursorType), который подробно описан в разделе Карта.