GeoPortal
GeoPortal является основным объектом API для взаимодействия с системой.
Пример работы с GeoPortal:
GeoPortal.requestGroups (
    true,
    function(groups){
        if(groups && groups.length){
            var group = groups [0];
            var layers = group.groupLayers;
            if(layers && layers.length)
                map.addLayer(layers[0]);
        }
    },
    function(status,error){
       console.log(error);
    });
События
| Событие | Описание | Пример использования | 
|---|---|---|
| ready | Событие происходит, когда API готово к использованию. | 
 | 
Свойства
| Свойство | Описание | 
|---|---|
| baseLayers | Объект, состоящий из двух полей (schemas , spaces), каждое из которых является массивом.  Элементы массива — экземпляры класса GeoPortal.BaseLayer. 1)schemas (GeoPortal.baseLayers.schemas) — хранит набор базовых слоев, типа «карта». 2) spaces (GeoPortal.baseLayers.spaces) — хранит набор базовых слоев, типа «космоснимок».  | 
| mapExtent | Стандартные границы карты. Объект класса GeoPortal.MapExtent. | 
| basePath | url геопортала. | 
Запрос слоев
Методы
| Метод | Описание | Пример использования | 
|---|---|---|
| requestLayers( callback, callErrorBack) | Список всех доступных слоев. Входящие параметры: callback(layers) – функция выполняется при получении слоев с сервера. Принимает на вход один параметр — массив экземпляров класса GeoPortal.Layer. callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки.  | 
 | 
Поиск слоя
Методы
| Метод | Описание | Пример использования | 
|---|---|---|
| findLayerById (id, callback,callErrorBack) | Поиск слоя по id. входящие параметры: id – id слоя callback(layer) – функция выполняется, если слой с данным id найден на сервере. Принимает на вход один параметр: элемент — экземпляр класса GeoPortal.Layer. callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки.  | 
 | 
| findLayerByName( name, callback, callErrorBack) | поиск слоев по typeName. входящие параметры: name – typeName слоя callback(layers) – функция выполняется, если найден хотя бы один слой, для которого параметр name является подстрокой у typeName. Принимает на вход один параметр: элемент — массив экземпляров класса GeoPortal.Layer, у которых typeName содержит в себе подстроку name. callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки.  | 
 | 
Запрос групп
Методы
| Метод | Описание | Пример использования | 
|---|---|---|
| requestGroups( withLayers, callback, callErrorBack) |  Cписок доступных групп слоев. Входящие параметры: withLayers – если параметр true, то группы вернутся со слоями callback(groups) – функция выполняется при получении групп слоев с сервера. Принимает на вход один параметр — массив экземпляров класса GeoPortal.LayerGroup. callErrorBack(status,error) – функция, которая будет выполняться при ошибке во время запроса, на вход должна принимать статус и описание ошибки.  | 
 | 
Поиск группы
Методы
| Метод | Описание | Пример использования | 
|---|---|---|
| findGroupById (id, withLayers, callback, callErrorBack) |  Поиск группы слоев по id. Входящие параметры: id – id группы слоев withLayers – если параметр true, то группы вернутся со слоями callback(groups) — функция выполняется при получении группы слоев с сервера. Принимает на вход один параметр: элемент — экземпляр класса GeoPortal.LayerGroup. callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки.  | 
 | 
| findGroupByName (name, withLayers, callback, callErrorBack) | Поиск групп слоев по имени. Входящие параметры: name – название группы слоев callback(groups) – функция выполняется, если найден хотя бы один слой, для которого параметр name является подстрокой у названия. Принимает на вход один параметр: элемент — массив экземпляров класса GeoPortal.LayerGroup, у которых название содержит в себе подстроку name. callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки.  | 
 | 
Авторизация
Методы
| Метод | Описание | Пример использования | 
|---|---|---|
| authenticate(login,password,callBack,callErrorBack) |  Авторизация  Входящие параметры: login – логин пользователя password – пароль пользователя callback(data) — функция выполняется при успешной авторизации. callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки.  | 
 | 
| currentUser(callBack,callErrorBack) |  Текущий пользователь  Входящие параметры: callback(user) — функция выполняется, если получены данные о текущем пользователе. В качестве параметра получает, данные о пользователе, если пользователь не авторизован, то приходит null. callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса. На вход принимает два параметра: статус и описание ошибки.  | 
 | 
| logout() | Выход из системы | 
 | 
События
| Событие | Описание | 
|---|---|
| logout | Происходит, когда авторизированный пользователь выходит из системы | 
Вспомогательные функции
Пространство имен для служебных функций
var icon = new GeoPortal.Icon();
var marker = new GeoPortal.Marker(latLng, {icon: icon});
/*создаем маркер*/
/*описываем реакцию на клик по маркеру*/
marker.on(
   "click",
   GeoPortal.Util.bind(function() {
      console.log(this.options.icon.iconUrl);
      /*вывести в консоль url иконки*/
   },
   marker)
   /*функция выполнится в контексте маркера, то есть выведется путь до его иконки*/
);
Методы
| Метод | Возвращает | Описание | 
|---|---|---|
| bind (<Function> method, <Object> context) <Function> method — функция, которой необходимо привязать контекст <Object> context — контекст  | 
Function | Связывает функцию method с объектом object. Это значит, что каждый раз, когда она будет вызвана, this будет указывать на object. | 
