Руководство
по использованию веб-сервисов портала
г. Ярославль
Оглавление
Руководство 1
по использованию веб-сервисов портала 1
REST API 2
Получение токена для работы виджета. 2
Получение объектов. 2
Получение полигонов, ограничивающих права доступа. 2
Создание объекта. Точка. 2
Создание объекта. Линия. 3
Создание объекта. Полигон. 5
Редактирование объекта. Точка. 7
Редактирование объекта. Линия. 7
Редактирование объекта. Полигон. 7
Удаление объекта. 7
Описание функций js-скриптов 7
mapwidgetsettings.js 7
mapwidget.js 8
Описание инициализации виджета с параметрами 10
Отображение определенного слоя 10
Отображение заранее определенного перечня объектов на карте 10
SOAP API 11
Метод createObjects – создание геообъектов 11
Метод updateObjects – обновление геообъектов 13
Метод deleteObjects – удаление геообъектов 17
Метод getStatus– получение статуса выполнения запроса 18
Описание ошибок, генерируемых SOAP сервисом 18
createObjects/updateObjects 18
updateObjects/ deleteObjects 19
Установка виджета 19
Настройка виджета 20
Получение отчета об использовании интеграционного сервиса. 21
REST API
Получение токена для работы виджета.
Добавлен метод генерации и получения токена для авторизованного на геопортале пользователя:
GET /security/token/get - получить токен
GET /security/token/generate - генерация нового токена.
Получение объектов.
GET /layers - получить все слои
GET /geoobjects?layerId=1 - получить все геообъекты для слоя с id=1
GET /geoobjects/{id} - получить геообъект по id
GET /geoobjects/srs - получение списка поддерживаемых систем пространственных координат
Получение полигонов, ограничивающих права доступа.
GET /acl – возвращает геообъект полигон, участвующий в разграничении прав.
Создание объекта. Точка.
POST /geoobjects/points - создание точки
req body:
{
"name": "[string]",
"address" : "[string]",
"layerIds": "[long]",
"tags": {
"tag": {
"key": "[string?]",
"value": "[string?]"
}
},
"guid" : "[string]",
"extSysId" : "[string]",
"spatialKey" : "string",
"pointCoordinates" : {"lat" : "double", "lon" : "double"}
}
Должны быть указаны pointCoordinates или address, если указан адрес, но не указаны координаты, они определяются автоматически.
Создание объекта. Линия.
POST /geoobjects/lines - создание линии
req body:
{
"name": "[string]",
"layerIds": "[long]",
"tags": {
"tag": {
"key": "[string?]",
"value": "[string?]"
}
},
"guid" : "[string]",
"extSysId" : "[string]",
"spatialKey" : "string",
"pointCoordinates" : [{"lat" : "double", "lon" : "double"}, {"lat" : "double", "lon" : "double"}, ... ]
}
Создание объекта. Полигон.
POST /geoobjects/polygons - создание линии
req body:
{
"name": "[string]",
"layerIds": "[long]",
"tags": {
"tag": {
"key": "[string?]",
"value": "[string?]"
}
},
"guid" : "[string]",
"extSysId" : "[string]",
"spatialKey" : "string",
"pointCoordinates" : [{"lat" : "double", "lon" : "double"}, {"lat" : "double", "lon" : "double"}, ... ],
"polygonHoles" : [ "pointCoordinates" : [{"lat" : "double", "lon" : "double"}, {"lat" : "double", "lon" : "double"}, ... ],
"pointCoordinates" : [{"lat" : "double", "lon" : "double"}, {"lat" : "double", "lon" : "double"}, ... ],
... ]
}
pointCoordinates - координаты внешн контура
polygonHoles - координаты "дырок"
Редактирование объекта. Точка.
PUT /geoobjects/points/{id} - редактирование точки
формат тела запроса такой же, как и при создании
Редактирование объекта. Линия.
PUT /geoobjects/lines/{id} - редактирование линии
формат тела запроса такой же, как и при создании
Редактирование объекта. Полигон.
PUT /geoobjects/polygon/{id} - редактирование полигона
формат тела запроса такой же, как и при создании
Удаление объекта.
DELETE /geoobjects/{id} - удалить геообъект по id
Описание функций js-скриптов
mapwidgetsettings.js
Служит для указания настроек виджета.
widgetAccessToken – токен пользователя виджета
restApiUrl – url геопортала
restApiGetLayers – адрес для запроса получения слоев
restApiGetObjects - адрес для запроса получения объектов
restApiGetSK- адрес для запроса получения пространственных систем координат
widgetMapContainer - id контейнера для карты
widgetMapCenter - центр карты по умолчанию
widgetMapZoom - зум карты по умолчанию
mapwidget.js
function mapwidgetInit() - инициализация интерфейса виджета
function formatErrorMessage () – вывод ошибок
function generateSerial() – генератор случайных чисел для создания guid объекта
function mapwidgetGetUsersPoly() – получение полигона ограничивающего права редактирования для пользователя
function mapwidgetGetLayersList() – получение списка слоев
function mapwidgetGetObjectsByLayerId(id) – получение списка объектов по id слоя
Параметры: id – идентификатор слоя
function mapwidgetGetSKList() – получение списка пространственных систем координат
function mapwidgetShowObjectInEditor(id, layerid) - вывод данных объекта в редактор
Параметры:
id – идентификатор объекта
layerid - идентификатор слоя
function mapwidgetBuildLayersList(layerId) – генерация списка слоев в области редактирования объекта
Параметры:
layerid - идентификатор слоя
function mapwidgetDrawObject(obj, layerid) – рисование объекта на карте
Параметры:
obj – идентификатор фигуры на карте
layerid - идентификатор слоя
function mapwidgetDrawPoint(obj, coords, layerid) – рисование точки
Параметры:
obj – идентификатор фигуры на карте
coords – координаты объекта
layerid - идентификатор слоя
function mapwidgetDrawPolyline(obj, coords, layerid) – рисование ломаной линии
Параметры:
obj – идентификатор фигуры на карте
coords – координаты объекта
layerid - идентификатор слоя
function mapwidgetDrawPolygon(obj, coords, layerid)- рисование полигона
Параметры:
obj – идентификатор фигуры на карте
coords – координаты объекта
layerid - идентификатор слоя
function mapwidgetStartEditing(id) – инициализация начала редактирования объекта на карте
Параметры:
id - идентификатор объекта
function mapwidgetCancelEditing(id) – отмена редактирования объекта
Параметры:
id - идентификатор объекта
function mapwidgetSaveObject(id) – сохранение объекта
Параметры:
id - идентификатор объекта
function mapwidgetSavePoint(obj) – сохранение точки
Параметры:
obj – идентификатор фигуры на карте
function mapwidgetSavePolyline(obj) – сохранение ломаной линии
Параметры:
obj – идентификатор фигуры на карте
function mapwidgetSavePolygon(obj) – сохранение полигона
Параметры:
obj – идентификатор фигуры на карте
function mapwidgetSavedOk(id) – вывод сообщения о сохранении объекта
Параметры:
id - идентификатор объекта
function mapwidgetSaveColorSettings(id, obj) – сохранение цвета линии и заливки объекта
Параметры:
id - идентификатор объекта
obj – идентификатор фигуры на карте
function mapwidgetCreateObject() – создание объекта
function mapwidgetCreatePoint(coords) – создание точки
function mapwidgetCreatePolyline() – создание ломаной линии
function mapwidgetCreatePolygon() – создание полигона
function mapwidgetDeleteObject(id, layer) – удаление объекта со слоя
Параметры:
id - идентификатор объекта
layer - идентификатор слоя
function mapwidgetTotalRemoveObjectFromView(id) – скрыть отображение объекта в интерфейсе из всех слоев
Параметры:
id - идентификатор объекта
function mapwidgetRemoveObjectFromView(id, layerid) - скрыть отображение объекта в интерфейсе в определенном слое
function mapwidgetAddObjectToView(obj, layerid) - добавить отображение объекта в интерфейс
Параметры:
obj - идентификатор объекта
layerid - идентификатор слоя
function mapwidgetVisualizeObject(obj, layerid) – добавить отображение объекта на карте
Параметры:
obj - идентификатор объекта
layer - идентификатор слоя
function mapwidgetDisableEditor() - декативирует инпуты в редакторе объекта
function mapwidgetEnableEditor() - активирует инпуты в редакторе объекта
function mapwidgetRadioCoordChange() – изменение типа ввода координат точки: указание на карте, ввод вручную
function mapwidgetShowAddressInputs() - показать опции ввода адреса и координат
function mapwidgetHideAddressInputs() - скрыть опции ввода адреса и координат
function mapwidgetCheckboxChange(el) – обработка клика по чекбоксу в списке слоев
function mapwidgetAddTag() – добавление дополнительных полей для тегов объекта
function mapwidgetDeleteTag(el) – удаление тега
Параметры:
el – идентификатор элемента
function mapwidgetToggleLimitPoly() – управление показом полигона ограничения прав доступа
Описание инициализации виджета с параметрами
Отображение определенного слоя
В файле mapwidget.js в конец функции mapwidgetInit() необходимо добавить вызов:
layerIdStart = 35;
mapwidgetGetObjectsByLayerId(layerIdStart);
Для каждого слоя который нужно отобразить необходимо вызывать функцию mapwidgetGetObjectsByLayerId (layerId);
и передать идентификтор слоя
Отображение заранее определенного перечня объектов на карте
В файле mapwidget.js в конец функции mapwidgetInit() необходимо добавить строки:
objStart = {id: 85866};
layerIdStart = 127;
mapwidgetAddObjectToView(objStart, layerIdStart);
Для каждого объекта который нужно отобразить необходимо вызывать функцию mapwidgetAddObjectToView(obj, layerId);
и передать идентификторы объекта и слоя
SOAP API
Полное описание по ссылке https://{url_геопортала}/ws?wsdl
Метод createObjects – создание геообъектов
[string]
[string?]
[string?]
[string?]
?
[string?]
[string?]
[string?]
[string]
[string?]
[string?]
|