mapSerfer — API — 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 готово к использованию.

GeoPortal.on(“ready”,
                        function(){

                        },this);

                                

Свойства

Свойство Описание
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) – функция выполняется при возникновении ошибки во время
запроса. На вход принимает два параметра: статус и описание ошибки.

var map = new GeoPortal.Map();
GeoPortal.requestLayers (
        function(layers){
        var layer = layers[0];
            map.addLayer(layer);
        },
        function(status,error){
            console.log(error);
        });

                                

Методы

Метод Описание Пример использования
findLayerById (id, callback,callErrorBack) Поиск слоя по id.
входящие параметры:
id – id слоя
callback(layer) – функция выполняется, если слой с данным id найден на сервере.
Принимает на вход один параметр: элемент — экземпляр класса GeoPortal.Layer.
callErrorBack(status,error) – функция выполняется при возникновении ошибки во время
запроса. На вход принимает два параметра: статус и описание ошибки.

var map = new GeoPortal.Map();
GeoPortal.findLayerById (
        204,
        function(layer){
            map.addLayer(layer);
        },
        function(status,error){
            console.log(error);
        });

                                
findLayerByName( name, callback, callErrorBack) поиск слоев по typeName.
входящие параметры:
name – typeName слоя
callback(layers) – функция выполняется, если найден хотя бы один слой, для которого параметр
name является подстрокой у typeName. Принимает на вход один параметр: элемент — массив
экземпляров класса GeoPortal.Layer, у которых typeName содержит в себе подстроку name.
callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса. На
вход принимает два параметра: статус и описание ошибки.

GeoPortal. findLayerByName (
        “layer_name”,
        function(layers){
        var layer = layers[0];
            console.log(layer.name());
        },
        function(status,error){
            console.log(error);
        });

                                

Методы

Метод Описание Пример использования
requestGroups( withLayers, callback, callErrorBack) Cписок доступных групп слоев.
Входящие параметры:
withLayers – если параметр true, то группы вернутся со слоями
callback(groups) – функция выполняется при получении групп слоев с сервера.
Принимает на вход один параметр — массив экземпляров класса GeoPortal.LayerGroup.
callErrorBack(status,error) – функция, которая будет выполняться при ошибке во время запроса,
на вход должна принимать статус и описание ошибки.

var map = new GeoPortal.Map();
GeoPortal.requestGroups (
        true,
        function(groups){
            var group = groups [0];
            var layers = group.groupLayers;
            if(layers && layers.length)
                map.addLayer(layers[0]);
        },
        function(status,error){
            console.log(error);
        });

                               

Методы

Метод Описание Пример использования
findGroupById (id, withLayers, callback, callErrorBack) Поиск группы слоев по id.
Входящие параметры:
id – id группы слоев
withLayers – если параметр true, то группы вернутся со слоями
callback(groups) — функция выполняется при получении группы слоев с сервера.
Принимает на вход один параметр: элемент — экземпляр класса GeoPortal.LayerGroup.
callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса.
На вход принимает два параметра: статус и описание ошибки.


GeoPortal. findGroupById (
        32,
        function(group){
            console.log(group.id());
        },
        function(status,error){
            console.log(error);
        },
        true);

                               
findGroupByName (name, withLayers, callback, callErrorBack) Поиск групп слоев по имени.
Входящие параметры:
name – название группы слоев
callback(groups) – функция выполняется, если найден хотя бы один слой, для которого параметр
name является подстрокой у названия. Принимает на вход один параметр: элемент — массив экземпляров
класса GeoPortal.LayerGroup, у которых название содержит в себе подстроку name.
callErrorBack(status,error) – функция выполняется при возникновении ошибки во время запроса.
На вход принимает два параметра: статус и описание ошибки.

GeoPortal.findGroupByName (
        “group_name”,
        function(group){
            console.log(group.name());
        },
        function(status,error){
            alert(error);
        },
        true);

                                

Методы

Метод Описание Пример использования
authenticate(login,password,callBack,callErrorBack) Авторизация
Входящие параметры:
login – логин пользователя
password – пароль пользователя
callback(data) — функция выполняется при успешной авторизации.
callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса.
На вход принимает два параметра: статус и описание ошибки.


GeoPortal.authenticate("demo","demo",
    function(data){
        GeoPortal.requestGroups(true,
            function(groups){
                console.log(groups);
            },
            function(status,error){
                console.log("Error to request groups list. Status = " +
                            status + ". Error text: " + error);
            }
        );
    },
    function(status,error){
        console.log("Error to request authentication. Status = " +
                    status + ". Error text: " + error);
    }
);

currentUser(callBack,callErrorBack) Текущий пользователь
Входящие параметры:
callback(user) — функция выполняется, если получены данные о текущем пользователе.
В качестве параметра получает, данные о пользователе, если пользователь не авторизован, то приходит null.
callErrorBack(status,error) – функция будет выполняться при возникновении ошибки во время запроса.
На вход принимает два параметра: статус и описание ошибки.

GeoPortal.currentUser(
    function(user){
        if (user != null){
            console.log(user.name);
        }
    },
    function(status,error){
        console.log("Error to request authentication. Status = " +
                    status + ". Error text: " + error);
    }
);

logout() Выход из системы

GeoPortal.on("logout",function(){
    console.log("User is logout");
},this);
GeoPortal.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.