GlobalMap GS / API / Работа с камерой
Работа с камерой
Класс «Camera»
Класс объектов «Camera» позволяет управлять камерой пользователя.
Свойства
Свойство |
Тип |
Описание |
height |
double |
Высота |
lon |
double |
Долгота |
lat |
double |
Широта |
time |
double |
Время перелета (в мс) |
matrix |
String |
Географическая матрица камеры |
geomatrix |
String |
Геоцентрическая матрица камеры |
scale |
double |
Размер ближайшего к камере пикселя сцены в метрах |
angle |
double |
Угол поворота камеры |
mousePosition |
Pos |
Позиция курсора мышки |
Перелет камеры к указанной позиции
Метод
Метод |
Возвращает |
Параметры |
Описание |
moveTo(double, double, double, double) |
bool |
Долгота, широта, высота (необязательно, останется текущая),
время перелета (в мс, необязательно, останется текущее) |
Перелет камеры к указанной позиции |
Вращение камеры на заданный угол по оси
Методы
Метод |
Возвращает |
Параметры |
Описание |
rotateX(double, double) |
void |
|
Вращение камеры на заданный угол по оси Х |
rotateY(double, double) |
void |
|
Вращение камеры на заданный угол по оси Y |
rotateZ(double, double) |
void |
|
Вращение камеры на заданный угол по оси Z |
Вращение камеры по заданной оси на заданный угол
Метод
Метод |
Возвращает |
Параметры |
Описание |
rotate(double, int, double) |
void |
Угол, ось(1 — Х, 2 — Y, 3 — Z), время перелета(необязательно) |
Вращение камеры по заданной оси на заданный угол |
Изменение положения камеры
Метод
Метод |
Возвращает |
Параметры |
Описание |
translate(double, double, double) |
void |
Cмещение по оси Х, смещение по оси Y, время перелета(необязательно) |
Изменение положения камеры |
translateX(double, double) |
void |
Cмещение по оси Х, время перелета(необязательно) |
Изменение положения камеры по оси Х |
gm.camera.translateY(double, double) |
void |
Cмещение по оси Y, время перелета(необязательно |
Изменение положения камеры по оси Y |
Высота в заданной точке
Метод
Метод |
Возвращает |
Параметры |
Описание |
pointHeight(double, double) |
double |
Долгота, широта |
Высота в заданной точке |
Класс Pos
Класс объектов для хранения географических координат
Свойства
Свойство |
Тип |
Описание |
lon |
double |
Долгота |
lat |
double |
Широта |
height |
double |
Высота |
Создание нового объекта позиции
Метод
Метод |
Возвращает |
Описание |
gm.factory.newPos() |
Pos* |
Создание нового объекта позиции |
GlobalMap / API / Работа с точками
Работа с точками
Класс «Measure»
Класс объектов «measure» позволяет рисовать линии поверх карты.
Свойства
Свойство |
Тип |
Описание |
enabled |
bool |
Включено/выключено |
color |
String |
Цвет |
pointColor |
String |
Цвет точек |
renderTime |
int |
Время рендеринга |
pointNumber |
int |
Количество точек |
distance |
double |
Расстояние, на котором объект становится виден |
Добавление новой точки
Метод
Метод |
Возвращает |
Описание |
addPoint(Pos*) |
bool |
Добавление новой точки |
Удаление последней добавленной точки
Метод
Метод |
Возвращает |
Описание |
deleteLastPoint() |
bool |
Удаление последней добавленной точки |
Удаление всех точек
Метод
Метод |
Возвращает |
Описание |
clearPoints() |
bool |
Удаление всех точек |
Вспомогательные классы
класс GeoPortal.HashMap();
Класс ассоативного массива.
Методы
Метод |
Описание |
getCount() |
возвращает количество элементов |
add(key, value) |
добавление элемента в HashMap |
getKeys() |
возвращает массив ключей |
containsKey(key) |
возвращает true|false: существует ли ключ |
contains(value) |
возвращает true|false: существует ли значение |
findKey(value) |
найти ключ по значению |
get(key) |
найти значение по ключу |
removeByKey(key) |
удалить по ключу |
clear() |
очистить HashMap |
getValues() |
получить все значения |
getArray(isKey) |
получить массивом
isKey:
true - ключи
false - значения
|
each(
function(key,value,length){
},
context)
|
вызов функции function в контексте context для каждого элемента HashMap |
События
Событие |
Описание |
Параметры |
«add» |
Добавлен элемент. |
me — массив,key — ключ элемента, value — значение элемента |
«replace» |
Заменен элемент. |
me — массив,key — ключ элемента, value — значение элемента,
old — замененный элемент |
«remove» |
Удален элемент элемент. |
me — массив,key — ключ элемента, value — значение элемента |
«clear» |
Ассоциативный массив очищен. |
me — массив |
Объект GP.Browser. Определение браузера.
Свойства
Свойство |
Описание |
ie |
true, если браузер Internet Explorer |
ieVersion |
Версия Internet Explore, -1 если браузер не ie. |
Виджеты левой панели
Объект GP.Widget.LeftPanelFactory
Объект для управления левыми панелями.
Методы
Метод |
Описание |
Параметры |
register(xtype, panelClass) |
Регистрация класса левой панели. |
xtype — строка, определяющая левую панель.
panelClass — класс левой панели. |
createPanel(xtype,options,mainElement,owner) |
Создание левой панели.
При выполнении этого метода будет закрыта предыдущая левая панели и открыта новая, либо выполнится метод reload у действующей левой панели. |
xtype — строка, определяющая левую панель.
options — опции левой панели.
mainElement — DOM елемент, в который будет помещена левая панель
owner — контекст в котором создана левая панель. |
destroyPanel() |
Закрытие левой панели |
— |
currentPanel() |
Возвращает текущую левую панель. |
— |
класс GP.Widget.LeftPanel
Основной класс левой панели.
Объект options, передается в конструктор при создании элемента класса.
options: {
dustObject
template
}
Методы
Метод |
Описание |
reload(template,dustObject) |
Перерисовка левой панели. Необходимо использовать, если ранее левую панель занимал экземпляр этого же класса. |
destroy() |
Закрытие левой панели |
Методы, которые можно переопределять в виджетах, которые наследуются от левой панели.
Метод |
Описание |
параметры |
_dustRender(out) |
Добавление содержимого в панель. |
out — объект, содержащий в себе html, построенный по переданным template и dustObject. |
_createContent() |
В этой функции по умолчанию происходит формирование html содержимого из template и dustObject и передача его в метод _dustRender. |
— |
_featureClick(event) |
Данная функция вызывается при стандартных функциях _createContent и _dustRender и переданном шаблоне «features» для каждого объекта {title}. |
— |
События
Событие |
Описание |
Параметры |
«leftPanel:destroy» |
Закрытие левой панели. |
widget — виджет панели |
класс GP.Widget.LayerInfoBox
Виджет левой панели с информацией о слое. Зарегистрирован в GP.Widget.LeftPanelFactory, xtype = «layerInfoBox». Методы наследуются от GP.Widget.LeftPanel.
options: {
dustObject
template
owner
}
Методы
Метод |
Описание |
reload(template,dustObject,currentLayer) |
Перерисовка левой панели. Необходимо использовать, если ранее левую панель занимал экземпляр этого же класса. |
Доступные шаблоны.
Описание принципов формирования html из шаблонов и dustObject http://akdubya.github.io/dustjs/
Шаблон |
Структура |
Описание |
«layerInfo» |
<div class="feature-group export-data-block" style="display:none;">
<h4>Выгруженные данные</h4>
<div id="statusbar-report-popup">
</div>
</div>
<div class="feature-group">
<div class="layer-info-box">
<h4 {#exportData} style="padding-right: 70px;"{/exportData}>{layerName}</h4>
{#exportData}
<div class="export-features">
<img src="{path}/icons/export-to-csv.png" alt="" class="export-to-csv"/>
<img src="{path}/icons/export-to-xls.png" alt="" class="export-to-xls"/>
</div>
{/exportData}
<div id="button-curtain">
<input class="curtain-checkbox" type="checkbox">
<span class="curtain-title">Шторка</span>
</div>
<div class="opacity-block">
<p>Прозрачность</p>
<div class="slider-block">
<div id="slider-value" style="left:{value}%;">{value}%</div>
</div>
<div id="slider"></div>
</div>
<div class="tabs-block">
<ul>
<li><a href="#legend-div">Легенда</a></li>
{#showFilter}
<li><a id="filter-tab" href="#filter-div">Фильтры</a></li>
{/showFilter}
</ul>
<div id="legend-div">
<div class="legend">
<img src="{href}" alt="" style="display:none;"/>
</div>
</div>
<div id="filter-div">
<div class="filters">
<div class="filter-container">
<div>
</div>
</div>
</div>
</div>
</div>
|
Шаблон для создания левой панели с информацией по слою. |
класс GP.Widget.ReportsBox
Виджет левой панели с отчетами. Зарегистрирован в GP.Widget.LeftPanelFactory, xtype = «reportsBox». Методы наследуются от GP.Widget.LeftPanel.
Доступные шаблоны.
Описание принципов формирования html из шаблонов и dustObject http://akdubya.github.io/dustjs/
Шаблон |
Структура |
Описание |
«reportForm» |
<div class="feature-group">
<h4>Готовые отчеты</h4>
<div id="statusbar-report-popup">
</div>
</div>
<div class="feature-group jreports">
<h4>Создать отчет</h4>
{#reports}
<div class="feature-item {#display}features-shown{/display}">
<div class="feature-item-div" id="{id}"><span class="feature-title clicked-title">{title}</span></div>
<div class="feature-content" {#display}{:else}style="display:none;"{/display}>
{html|s}
</div>
</div>
{/reports}
</div>
|
Шаблон для создания левой панели с отчетами. |
класс GP.Widget.LayerFeaturesBox
Виджет левой панели с объектами слоя. Зарегистрирован в GP.Widget.LeftPanelFactory, xtype = «featureBox». Методы наследуются от GP.Widget.LeftPanel.
Доступные шаблоны.
Описание принципов формирования html из шаблонов и dustObject http://akdubya.github.io/dustjs/
Шаблон |
Структура |
Описание |
«wmsFeatures» |
<div class="feature-group export-data-block" style="display:none;">
<h4>Выгруженные данные</h4>
<div id="statusbar-report-popup">
</div>
</div>
{#featureGroups}
<div class="feature-group">
<h4 {#exportFeatures} style="padding-right: 70px;"{/exportFeatures} id="{layerId}">{name}</h4>
{#exportFeatures}
<div class="export-features">
<img src="{path}/icons/export-to-csv.png" alt="" class="export-to-csv"/>
<img src="{path}/icons/export-to-xls.png" alt="" class="export-to-xls"/>
</div>
{/exportFeatures}
{#features}
<div class="feature-item {#display}features-shown{/display}">
{#showGeom}
<img src="{path}/icons/show-feature-geom.png" alt="" title="выделить объект" class="show-feature-geom"/>
{/showGeom}
<div class="feature-item-div {#showGeom}feature-item-div-with-icon{/showGeom}" id="{id}"><span class="feature-title clicked-title">{title|s}</span></div>
<div class="feature-content" {#display}{:else}style="display:none;"{/display}>
{html|s}
</div>
</div>
{/features}
</div>
{/featureGroups}
|
Шаблон для списка объектов карты. |
Методы
Метод |
Описание |
reload(template,dustObject,firstElementId,findEisForFirstElement) |
Перерисовка левой панели. Необходимо использовать, если ранее левую панель занимал экземпляр этого же класса. |
События
Событие |
Описание |
Параметры |
«leftPanel:currentFeatureLayer» |
Слой текущего объекта. |
layer — слой |
класс GP.Widget.FixedLinkBox
Виджет левой панели для создания фиксированной ссылки. Зарегистрирован в GP.Widget.LeftPanelFactory, xtype = «fixedLink». Методы наследуются от GP.Widget.LeftPanel.
Доступные шаблоны.
Описание принципов формирования html из шаблонов и dustObject http://akdubya.github.io/dustjs/
Шаблон |
Структура |
Описание |
класс GP.Widget.GeoCodingFeaturesBox
Виджет левой панели для геокодинга. Зарегистрирован в GP.Widget.LeftPanelFactory, xtype = «geoCoding». Методы наследуются от GP.Widget.LeftPanel.
Доступные шаблоны.
Описание принципов формирования html из шаблонов и dustObject http://akdubya.github.io/dustjs/
Шаблон |
Структура |
Описание |
«features» |
{#featureGroups}
<div class="feature-group {className}">
<h4>{name}</h4>
{#features}
<div class="feature-item-div" id="{id}"><span class="geocoding-item clicked-title">{title}</span></div>
{/features}
</div>
{/featureGroups}
|
Шаблон для создания простого списка отображения объектов карты. |
Хранилище данных
класс GP.Store
Классы, которые наследуются от данного используются в качестве моделей данных.
Методы
Метод |
Описание |
isReady() |
возвращает Boolean, если true – Store готов для использования |
setReady() |
устанавливает Store в режим готовности и создает событие “ready” |
getById(id) |
получить элемент по id |
reload() |
очищает Store |
reloadObj(newObj) |
очищает Store и делает loadObject(newObj) |
loadObject(object) |
если object – массив, то добавляет весь массив в store, если элемент, то добавляет этот элемент в store. |
setById(id,newObject) |
записать в элемент с указанным id элемент newObject |
getFirst() |
получить первый элемент |
add (StoreObj, noFireEvent) |
Если параметр noFireEvent будет равен true, то не будет создаваться событие “insert” |
addObj(object, noFireEvent) |
Добавление элемента (object) в store. Если параметр noFireEvent будет равен true, то не будет создаваться событие “insert” |
each (callback, ctx) |
callback(element) – функция которая должна принимать один аргумент – элемент store и которая будет выполняться для каждого элемента store. ctx – контекст для выполнения функции callback |
length() |
возвращает количество элементов |
onReady(callback, ctx) |
если Store в состоянии ready, то выполнить функцию callback в контексте ctx, иначе выполнить функцию тогда, когда Store перейдет в состояние ready один раз вне зависимости от количества выполнения функции onReady. |
remove(id) |
удалить элемент по id |
where (field, value) |
возвращает новый Store, во всех элементы которого поле field равняется value |
find (field, value) |
возвращает один элемент из store, в поле field равняется value |
sort(field, descending) |
сортирует по полю field, если descending == true сортирует в обратном порядке |
getIdsArray() |
возвращает массив, содержащий id всех элементов store |
События
Событие |
Параметры |
Описание |
«ready» |
store |
store готов к использованию |
«objectUpdate» |
objectId — id измененного объекта |
Изменен элемент стора. |
«insert» |
model — добавленный элемент |
В стор добавлен элемент. |
класс GP.Store.BaseLayer
Хранилице данных для базовых слоев. Все методы унаследованы от GP.Store.
класс GP.Store.Eis
Хранилице данных для медиа. Все методы унаследованы от GP.Store.
класс GP.Store.Events
Хранилице данных для событий. Все методы унаследованы от GP.Store.
класс GP.Store.Features
Хранилице данных для feature слоя. Все методы унаследованы от GP.Store.
класс GP.Store.JReports
Хранилице данных для отчетов. Все методы унаследованы от GP.Store.
класс GP.Store.Layers
Хранилице данных для слоя на карте. Методы унаследованы от GP.Store, помимо этого присутствуют свои:
класс GP.Store.LayerGroups
Хранилице данных для групп слоев. Методы унаследованы от GP.Store.
класс GP.Store.Reports
Хранилице данных для отчетов. Методы унаследованы от GP.Store.
класс GP.Store.Tabs
Хранилице данных для вкладок правой панели. Методы унаследованы от GP.Store.