Документация-вспомогательные

mapSurfer — javascript-интерфейс — leftPanelWidgets

Объект для управления левыми панелями.

Методы

Метод Описание Параметры
register(xtype, panelClass) Регистрация класса левой панели. xtype — строка, определяющая левую панель.
panelClass — класс левой панели.
createPanel(xtype,options,mainElement,owner) Создание левой панели.
При выполнении этого метода будет закрыта предыдущая левая панели и открыта новая, либо выполнится метод reload у действующей левой панели.
xtype — строка, определяющая левую панель.
options — опции левой панели.
mainElement — DOM елемент, в который будет помещена левая панель
owner — контекст в котором создана левая панель.
destroyPanel() Закрытие левой панели
currentPanel() Возвращает текущую левую панель.

Основной класс левой панели.

Объект 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.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.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.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.LeftPanelFactory, xtype = «fixedLink». Методы наследуются от GP.Widget.LeftPanel.

Доступные шаблоны.

Описание принципов формирования html из шаблонов и dustObject http://akdubya.github.io/dustjs/

Шаблон Структура Описание

Виджет левой панели для геокодинга. Зарегистрирован в 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} 
Шаблон для создания простого списка отображения объектов карты.

mapSurfer — javascript-интерфейс — stores

Классы, которые наследуются от данного используются в качестве моделей данных.

Методы

Метод Описание
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.

Хранилице данных для медиа. Все методы унаследованы от GP.Store.

Хранилице данных для событий. Все методы унаследованы от GP.Store.

Хранилице данных для feature слоя. Все методы унаследованы от GP.Store.

Хранилице данных для отчетов. Все методы унаследованы от GP.Store.

Хранилице данных для слоя на карте. Методы унаследованы от GP.Store, помимо этого присутствуют свои:

Хранилице данных для групп слоев. Методы унаследованы от GP.Store.

Хранилице данных для отчетов. Методы унаследованы от GP.Store.

Хранилице данных для вкладок правой панели. Методы унаследованы от GP.Store.

GlobalMap — API — Bookmarks

Свойства

Свойство Тип Описание
name String Название
header String Заголовок
inited bool Активирован ли слой

Метод

Метод Возвращает Описание
addBookmark(Bookmark*) bool Добавить новую метку на слой

Метод

Метод Возвращает Описание
deleteBookmark(Bookmark*) bool Удалить метку со слоя

Методы

Метод Возвращает Описание
getById(int) Bookmark* Получить метку по ее ID
getByNum(int) Bookmark*(int) Получить метку по ее номеру

Метод

Метод Возвращает Описание
count() int Количество меток на слое

Метод

Метод Возвращает Описание
сlear() bool Очистить слой от всех меток

Метод

Метод Возвращает Описание
gm.factory.newBookmark() Bookmark* Создание новой метки

mapSurfer — javascript-интерфейс — models

Классы, которые наследуются от данного используются в качестве моделей данных.

Методы

Метод Описание
pkField() возвращает название поля primary key модели
id() возвращает значение поля primary key модели
field (name) возвращает поле, у которого название равно name
get (name) возвращает значение поля, у которого название равно name
set (name, value) установить полю name значение value
isNull (name,type) если поле name пусто или не является типом type то вернется true
validateField () евалидация полей

Модель для базовых слоев. Все методы унаследованы от GP.Model.

Поля

Название поля тип Описание
id string primary key базового слоя
name string Название
className function Класс
type string Тип

Модель для медиа. Все методы унаследованы от GP.Model.

Поля

Название поля тип Описание
id string primary key
url string Url
fileName string Имя файла
type object Тип

Модель для событий. Все методы унаследованы от GP.Model.

Поля

Название поля тип Описание
id integer primary key
info string информация
eventId integer primary key события
dataFrom integer
dataTill integer

Модель для feature слоя. Все методы унаследованы от GP.Model.

Поля

Название поля тип Описание
id string primary key
title string название
geomFieldName string Название поля с геометрией
data object Данные
groupData object Данные о группе
eisStore object Store eis

Модель для отчетов. Все методы унаследованы от GP.Model.

Поля

Название поля тип Описание
name string Название
link string Ссылка
status int Статус
expire int Время жизни
format string Формат
layerId string id слоя

Модель для слоя на карте. Методы унаследованы от GP.Model, помимо этого присутствуют свои:

Методы

Метод возвращает Описание
isFullLoaded true или false Полностью ли загружен слой
isDownloading true или false Загружается ли слой
downloadData Загрузить слой
getTitleFields названия полей у объектов карты
featureTitle(properties) названия полей у объектов карты с html тегами,
если они существуют в параметре properties и модели слоя
параметр properties — массив названий полей объектов карты
featureData(properties) Поля у объектов карты, содержащие дату.
Дата возвращается с html тегами, преобразованная в формат DD.MM.YYYY hh:mm:ss.
Если поля существуют в параметре properties и модели слоя
параметр properties — массив названий полей объектов карты
createMapLayer создать слой для карты из мадели
getMapLayer слой для карты получить слой для карты из мадели

Поля

Название поля тип Описание
id integer primary key
name string Название
enabled boolean Включен ли
info object Информация о слое
groupId integer Id группы
order integer Порядковый номер в группе
fields object Атрибуты
isKosmosnimok boolean Является ли космоснимком
mapLayer object Объект слоя
bbox object Bounding box

События

Событие Описание параметры
«model:layer:reload» Происходит при перезагрузке данных слоя layer — файл слоя

Модель для группы слоев. Методы унаследованы от GP.Model.

Поля

Название поля тип Описание
id integer primary key
name string Название
order integer Порядковый номер группы
layers array Слои группы

Модель для границы карты (MapExtent). Методы унаследованы от GP.Model.

Поля

Название поля тип Описание
id integer primary key
name string Название
extent object Граница
projection string Проекция

Модель для отчета. Методы унаследованы от GP.Model.

Поля

Название поля тип Описание
id integer primary key
name string Название
parameters object Параметры

Модель для вкладок правой панели. Методы унаследованы от GP.Model.

Поля

Название поля тип Описание
id string primary key
name string Название
image string Иконка
imageWhite string Белая иконка
divId string Id div

Модель для пользователя. Методы унаследованы от GP.Model.

Поля

Название поля тип Описание
id integer primary key
name string Название
right object Права
mapExtent object Граница карты

mapSurfer — javascript-интерфейс — widgets

Класс, от которого наследуются все виджеты.

Параметры, которые можно указать при создании экземпляра любого виджета, класс которого наследуется от GP.Widget.

options	
mainElement
// объект опций для виджета, доступен в свойстве options
// id DOM елемента или объект jQuery, доступен в свойстве _mainElement

Пример написания виджета

GP.Widget.MyWidget = GP.Widget.extend({
	_createWidget: function(){	
		...
	}

});
		
// наследование от GP.Widget
// конструктор
// действия виджета

Методы

Метод Описание Параметры
findElem(selector) Поиск DOM элементов внутри виджета с помощью jQuery. selector — jQuery селектор
_bind(elem,event,data,fn) Выполнить функцию при срабатываниисобытия у элемента elem — элемент
event — событие элемента
data — параметры для функции
fn — функция
_onResize() Функция выполняется при изменении размеров окна. в своем виджете эту функцию можно переопределить.

Виджет для блокировки экрана. Отображается во время загрузки.

Методы

Метод Возвращает Описание
show() затемнить экран
showLoader() затемнить экран и показать песочные часы
close() выключить виджет

Виджет, показывающий стилизованное системное сообщение.

Методы

Метод Описание Параметры
show() показать сообщение
setStatus(status) установить статус сообщения
status:
		200	-	"действие выполнено"
		403	-	"Доступ ограничен"
		404	-	"Не найдено"
по умолчанию "ошибка"
setText(text) становить текст сообщения text — текст сообщения

События

Объект GP.widgets.authenticationВиджет авторизации.МетодыСобытияОбъект GP.widgets.baseLayerSelectorВиджет для выбора базового слоя.МетодыСобытияОбъект GP.widgets.curtainLayerВиджет шторки. Шторка автоматически убирается, если слой перестает быть активным или убирается левая панель.МетодыАктивирование шторки.Для слоя mapLayer.

if(GP.widgets.curtainLayer && mapLayer 
         && GP.widgets.curtainLayer.getLayer() != mapLayer )
	GP.widgets.curtainLayer.setLayer(mapLayer);	
GP.widgets.curtainLayer.switchCurtain();
		


// установка слоя шторке
// переключение шторки

Деактивирование шторки.

GP.widgets.curtainLayer.hide();
		

класс GP.Widget.DialogBoxВиджет диалогового окна.

var myDialogBox = new GP.Widget.DialogBox(
		{				
			dialogBoxId:"myDialogBoxId",	
			width:110,	
			top:87,		
			left:106	
		},
		"#wrap");		
// создание диалогового окна
// пример опций(options)
// id DOM елемента окна
// ширина окна
// отступ сверху
// отступ слева

// id елемента, в который необходимо поместить окно

МетодыСобытиякласс GP.Widget.ButtonВиджет кнопки.Пример использования кнопки

GP.widgets.myButton = new GP.Widget.Button({buttonId:"muButtonId"});
 GP.widgets.myButton.on(
	"buttonClick",
	this.click,
	this);
//  создание кнопки. buttonId - id элемента кнопки
// слушание события нажатия кнопки
// событие
// функция, которую необходимо выполнить при нажатии
// контекст, в котором необходимо выполнить функцию

МетодыСобытиякласс GP.Widget.GeoCodingВиджет для поиска объектов на карте по строке.Опции объекта

options:{
	label: '',
	title: '',
	items: [
		{
		 label: '',
		 initial: false
		}
	],
	onClick: function () {
	}
}		

класс GP.Widget.SelectableButtonВиджет кнопки с выплывающим меню.класс GP.Widget.UserPanelВиджет верхней панели с авторизацией.

Событие Параметры Описание
«closeAlert» alert — объект сообщения Сообщение закрыто.
Метод Описание Параметры
show() показать виджет авторизации
hide() скрыть
remove() удалить виджет авторизации
Событие Параметры Описание
«authenticationSuccess» user — данные пользователя Пользователь прошел авторизацию
Метод Описание Параметры
currentBaseLayer() возвращает текущий базовый слой
Событие Параметры Описание
«changeBaseLayer» baseLayer — объект базового слоя Выбран новый базовый слой
Метод Описание возвращает
isShow() активность виджета возвращает true или false, активна ли шторка
curtainOn() показать шторку
curtainOff() выключить шторку
switchCurtain() включить/выключить шторку
getLayer() слой, для которого включена шторка
setLayer() установить слой для шторки
hide() убрать шторку
Метод Описание возвращает
close() закрыть
clear() очистить содержимое
isReady() готовность dialogBox возвращает true|false
show() показать dialogBox
isShow() показывается ли dialogBox возвращает true|false
setTitle(title) устанавливает заголовок dialogBox
setContainer(container) устанавливает содержимое dialogBox
width(width) устанавливает ширину dialogBox
top(top) устанавливает отступ сверху dialogBox
left(left) устанавливает отступ слева dialogBox
remove() удаляет dialogBox
Событие Параметры Описание
«readyDialog» dialog — объект диалогового окна Диалоговое окно готово к использованию.
«closeDialog» dialog — объект диалогового окна Диалоговое окно закрыто.
Метод Описание
display(bool)
bool:
	true - показать кнопку
	false - скрыть кнопку
Событие Описание Параметры
«buttonClick» Возникает при клике на кнопку button — объект кнопки

mapSurfer — javascript-интерфейс — map

класс GP.Widget.Map

Виджет карты. Объект в системе GP.mainMap

Методы

Метод Описание Возвращает Параметры
setMarker(lon,lat) Установить маркер на карту, удаляя имеющиюся точку или маркер
lon - долгота
lat - широта
setPoint(lon,lat,zoom,html) Установить уточку на карту и переходит к этой точке, удаляя имеющиюся точку или маркер объект точки
	lon - долгота
	lat - широта
	zoom -  увеличение с которым нужно 
переходить к точке (целое число, по умолчанию 12)
	html - текст над точкой
getCenter() Возвращает центр показываемой карты координаты центра карты
getTurnedLayerId(type) Возвращает массив id слоев, включенных на карте массив id слоев
type:
	wms - функция возвращает id только wms слоев
	wfs - функция возвращает id только wfs слоев
	undefined - функция возвращает id всех включенных слоев

getPoint() Возвращает точку или маркер с карты объект точки
isLayerTurned(layerId) Проверяет, включен ли слой на карте true или false
layerId - id слоя
setBBox(minLon,minLat,maxLon,maxLat,projection) Перейти к определенному участку карты, установив boundary box
minLon - минимальная долгота
minLat - минимальная широта
maxLon - максимальная долгота
maxLat - максимальная широта
projection - проекция координат, по умолчанию  EPSG:4326
setBaseLayer(baseLayer) установить базовый слой
baseLayer - базовый слой
setView(lon,lat,zoom) перейти к определенному участку карты
lon - долгота
lat - широта
zoom - приближение, целое число
offLayer(layerId) выключить слой
layerId - id слоя
turnLayer(layerId,mapLayer,service) включить слой на карту
layerId - id слоя
mapLayer - слой (объект)
service - wms или wfs
setFullScreen() развернуть карту на весь экран
addLine(latLngs) добавить линию на карту
latLngs - массив объектов в формате {lat : 55, lng:49}

События

Событие Описание
«map:wmsLayersClicked» Произошел клик по карте при хотя бы одном включенном wms слое

Виджет для выделения области карты.

Методы

Метод Описание Параметры
create(fnc, options) Начать выделять область. fnc — функция, которая будет выполняться после выделения области пользователем. (пример ниже)
options — опции выделения. (описание ниже)
disable() Убрать выделение.

Описание опций

Описанные опции совподают с опциями по умолчанию.

options: {
        shapeOptions: {
            stroke: true,
            color: '#f06eaa',
            weight: 4,
            opacity: 0.5,
            fill: true,
            fillColor: null, //same as color by default
            fillOpacity: 0.2,
            clickable: true
        },
        initialLabelText: 'Нажмите и потяните для выделения области',
        releaseLabelText: 'Отпустите для получения запроса'
    }

// опции прямоугольника выделителя
// если true - с рамкой, false - сплошной прямоугольник
// цвет рамки
// ширина рамки
// прозрачность рамки
// наличие заливки
// цвет заливки (null - совпадает с цветом рамки)
// прозрачность заливки
// если true - отображается кликабельным

// надпись подсказка перед началом выделения
// надпись подсказка во время выделения

Пример передаваемой функции.

M.Util.bind(  
	function(data){
		... 
		if(!data.created  
			|| !data.clickData)	
            return;

        var latLngs = data.clickData.rect.latLngs(),	
            clickData = {};

	/*
		Оставление полигона на карте после выделения
	*/
        this._polygon = data.clickData.rect;	
        GP.mainMap.map.addLayer(this._polygon);		
		...        
    },
	,this)  
// оборачивание для использования функции в определенном контексте

// действия, которые должны происходить даже в случае неудачного выделения
// true, если область успешно выделилась
// данные выделения


// координаты выделенной области





// объект полигона
// добавление на карту


// контекст выполнения функции

Внутренний объект карты.

Методы

Метод Описание Параметры
zoomIn() Приблизить карту
zoomOut() Отдалить карту.
setZoom(zoom) установить zoom zoom — целое число
center() Возвращает центр карты, экземпляр класса M.LatLng
container() Возвращает DOM объект контейнера карты
size() возвращает размер экрана
setView(center, zoom) установить центр и zoom карты center — экземпляр класса M.LatLng(lat,lng)zoom — целое число
removeLayer(layer) удалить слой с карты layer — объект слоя

Класс, экземпляры которого содержащий долготу и широту.

Конструкторы

Конструктор Параметры
new M.LatLng(lat,lng) lat — широтаlng — долгота

Статичный класс для обработки геометрии в формате GeoJSON.

Методы

Метод Параметры Описание
geometryToLayer(geometry, pointToLayer) geometry — геометрия в формате GeoJSONpointToLayer — boolean, если true и геометрия является точкой — возвращает слой, иначе объект M.Marker возвращает объект слоя.

Класс wms слоя, экземпляр этого класса можно добавлять на карту.

Конструкторы

Конструктор
new M.TileLayer.WMS(
  requestUrl,               // url запроса
  {                         // wms параметры слоя
      layers: typeName,     // typeName слоя
      styles: style,        // style слоя
      format: 'image/png',  // формат отдачи данных, по умолчанию image/jpeg
      transparent: true     // прозрачность
  })

Класс WFS слоя, экземпляр этого класса можно добавлять на карту.

Конструкторы

Конструктор
 mapLayer = new M.WFS(
    requestUrl,   //Url запроса
    typeName,    //typeName слоя
    styleUrl,    //путь к .sld файлу стиля
    undefined,  //формат отдачи данных, по умолчанию application/json
    wfsOptions  //wfs опции запроса
  );

GlobalMap — API — Layers

Свойства

Свойство Тип Описание
name String Имя слоя
visible bool Видимость
ready bool Готовность слоя к работе
position int Позиция слоя относительно других слоев
bbox Bbox* BoundaryBox слоя
externalID int Внешний ID слоя

Метод

Метод Возвращает Описание
flyUp(int) bool Взлететь над слоем

Методы

Метод Возвращает Описание
moveUp(int) bool Переместить слой вверх в списке слоев на указанное число позиций(по умолчанию 1)
moveDown(int) bool Переместить слой вниз в списке слоев на указанное число позиций(по умолчанию 1)

Методы

Метод Возвращает Описание
gm.factory.newWMSLayer() WMSLayer* Создание WMS слоя
gm.factory.newTMSLayer() TMSLayer* Создание TMS слоя
gm.factory.newWFSLayer() WFSLayer* Создание WFS слоя
gm.factory.newVectorLayer() VectorLayer* Создание векторного слоя

Методы

Метод Возвращает Описание
gm.getLayer(String) Layer* Получить слой по его названию
gm.getLayerByNum(int, int) Layer* Получить слой по его номеру

Метод

Метод Возвращает Описание
gm.destroyLayer(Layer *) bool Уничтожить слой

mapAdmin — введение

REST запросы — запросы вида http://server.name/rest/*
Все данные отправляются и приходят в формате Json

Формат ответа при возникновении ошибки:

{
    "res": 0,
    "resText":  
}


// текст ошибки

Для получения данных необходимо в каждом запросе использовать один из нижеприведенных вариантов:

  • отсылать в качестве GET — параметра token, полученный при авторизации
    http://server.name/rest/*?token={Token}
  • отсылать в заголовки запроса cookie, полученные при прохождении авторизации

mapSurfer — API — geoquery

Поиск объектов

Класс GeoPortal.GeoCoding. Осуществляет поиск объектов на карте по названию.


var geoCoding = new  GeoPortal.GeoCoding();

geoCoding.searchByText("Казань", function(features){
    console.log(features);
},
function(status,error){
    throw new Error("Error status="+status+", error text: "+error);
}

Конструктор

new GeoPortal.GeoCoding();

Методы

Метод Возвращает Описание
searchByText(<String> text,<function> callback, <function>callErrorBack) this Осуществляет поиск объектов по входящей строке.
Если объекты найдены, функции callback передается массив, состоящий из экземпляров класса GeoPortal.Feature.
Если объекты найдены или произошла ошибка, функции callback передается статус ошибки и текст.

mapSurfer — API — layers

FeatureGroup

Используется для группировки векторных слоев в один слой. Наследуется от GeoPortal.Layer.LayerGroup


var features = new GeoPortal.Layer.FeaturGroup();
for (var i=0;i<10;i++) {
    features.addLayer(new GeoPortal.Vector.PolyLine([new GeoPortal.LatLng(55,49), new GeoPortal.LatLng(55.1, 49.1)]))
}

features.on("click", function(e) {
    console.log(e);
})

map.addLayer(features);

Конструктор

new GeoPortal.Layer.FeaturGroup(?<Array Layer> layers)

Методы

Метод Возвращает Описание
bindPopup(<String> content) this Создать Popup ко всем объектам в группе и прикрепить к ним текст
setStyle(<Polyline options> style) this Устанавливает стиль отображения всем объектам в группе

События

Событие Данные Описание
add Event Происходит при добавлении объекта на карту
click MouseEvent Происходит при клике на объект
dblclick MouseEvent Происходит при двойном клике на объект
mousedown MouseEvent Происходит при нажатии клавишей мыши при наведенном указателе
mouseover MouseEvent Происходит при наведении курсора мыши на объект
mouseout MouseEvent Происходит когда курсор мыши покидает зону объекта на карте

LayerGroup

Используется для группировки слоев в один слой


var layer = new GeoPortal.Layer.LayerGroup();
for (var i=0;i<10;i++) {
    layer.addLayer(new GeoPortal.Marker(new GeoPortal.LatLng(55+i,49))
}
map.addLayer(layer);

Конструктор

new GeoPortal.Layer.LayerGroup(?<Array Layer> layers)

Методы

Метод Возвращает Описание
addLayer( <Layer> layer) this Добавить слой к группе
removeLayer( <Layer> layer) this Удалить слой из группы
clearLayers() this Удалить все слои
invoke( <String> methodName) this Выполнить метод с названием methodName у всех слоев

WMS

Используется для подключения wms слоев на карту


var layer = new GeoPortal.Layer.WMS("http://host/path", {
        layers: 'testlayername',
        styles: 'testlayerstyle',
        format: 'image/png',
        transparent: true
    });

map.addLayer(layer);

Конструктор

new GeoPortal.Layer.WMS(<String> url, <WMS options> options)

Свойства

Свойство Тип По умолчанию Параметр запроса
service String ‘WMS’ тип сервиса
request String ‘GetMap’ тип запроса
version String ‘1.1.1’ версия протокола
layers String » список слоев (пишется через запятую)
styles String » список стилей (пишется через запятую)
format String ‘image/jpeg’ формат отображения слоя
transparent Boolean false получать слой с прозрачностью

Методы

Метод Возвращает Описание
setOpacity(<Number> opacity) void Установить прозрачность слою

События

Событие Данные Описание
load Event Происходит, когда все тайлы слоя загружены
tileunload Event Происходит, когда тайл слоя выгружен
tileload Event Происходит, когда тайл слоя загружен

WFS

Используется для подключения слоя по протоколу WFS

GeoJSON

Используется для создания векторного слоя из объектов типа GeoJSON. Наследуется от GeoPortal.Layer.FeatureGroup


var layer = new GeoPortal.Layer.GeoJSON(
    {
        type: 'Point',
        coordinates: [55,49]
    }

);

map.addLayer(layer);

Конструктор

new GeoPortal.Layer.GeoJSON(<Object GeoJSON> geojson)

Методы

Метод Возвращает Описание
addGeoJSON(<Object GeoJSON> geojson, options) void Добавляет geojson объекты к слою.
Параметр options не обязателен и должен соответствовать опциям передаваемой геометрии.

События

Событие Данные Описание
featureparse Event Происходит при добавлении нового объекта к слою

JsonLatLng

Используется для подключения слоя, состоящего из объектов, подгружаемых через Ajax запрос. С возможностью применения кластеризации


var layer = new GeoPortal.Layer.JsonLatLng("http://host/path", {
    icon: new GeoPortal.Icon();
    fieldLng: "lon",
    fieldLat: "lat",
    object: "points"
});

map.addLayer(layer);

Конструктор

new GeoPortal.Layer.JsonLatLng(<String> url, <JsonLatLng options> options);

Свойства

Свойство Тип По умолчанию Описание
icon GeoPortal.Icon new GeoPortal.Icon() Иконка для отображения объектов на карте
clusterIconClass GeoPortal.Icon new GeoPortal.Icon() Иконка для отображения кластеров объектов на карте
fieldLng String ‘lng’ Поле объекта, содержащее долготу
fieldLat String ‘lat’ Поле объекта, содержащее широту
object String undefined Поле объекта, содержащее массив объектов
cluster Boolean true Применять кластеризацию к объектам
radius Number 100 Радиус в пикселях для кластеризации объектов
maxZoomChange Number 2 Через сколько зумов делать пересчет
maxZoomLevel Number 14 До какого зума применять кластеризацию
singleClusters Boolean false Кластеризовать одиночные объекты

Методы

Метод Возвращает Описание
clear() void Очищает слой
reload() void Перезагружает слой
setRadius(<Number> radius) this Установить новый радиус для кластеризации
disableClustering() Boolean Отключить кластеризацию
enableClustering() this Включить кластеризацию

События

Событие Данные Описание
add Event Происходит при добавлении объекта на карту
click MouseEvent Происходит при клике на объект
clusterClick MouseEvent Происходит при клике на кластер объектов
dblclick MouseEvent Происходит при двойном клике на объект
mousedown MouseEvent Происходит при нажатии клавишей мыши при наведенном указателе
mouseover MouseEvent Происходит при наведении курсора мыши на объект
mouseout MouseEvent Происходит, когда курсор мыши покидает зону объекта на карте