На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

GIS WEbToolKit 4.5

Поиск  Пользователи  Правила  Войти
Форум » Серверные приложения » GIS WebServer
Страницы: 1
RSS
GIS WEbToolKit 4.5, при указании ключа объекта редактировать можно все (ошибка)
 
Здравстуйте, есть такая проблема , при настройках редактора карты, указывается ключ объекта в описание к апи говорится
4.28.1.2 Описание параметров объекта objects
Имя параметра Описание
code
Код объекта. Удобно использовать для редактирования серии объек-
тов.
key Ключ объекта. Используется для отдельных объектов карты.
semantics[]
Массив кодов семантических характеристик через запятую. При от-
сутствии редактируются все семантики объекта.


что key используется для конкретных объектов, при открытие карты и создании объекта ключ не меняется и остается всегда один, видимо по этому и можно редактировать все объекты на карте, как исправить?
(необходимо что бы при открытии карты редактировался конкретный объект ко всем остальным доступ должен быть закрыт)

settings_mapEditor = {        "maplayersid": "01",
       "functions": ["*"],
       "editingdata" : [                                   // маска: редактируемые данные (объекты, семантики объектов), при отсутствии - редактируются все объекты слоя
           {
               "layerid": "01"                     // идентификатор редактируемого слоя
                   , "objects": [                                // список объектов
                       {
                           "key": "P0000501902"
                   //        , "semantics": ["SEM45", "SEM3"]           // список ключей семантик
                       }
                       //,{
                       //    "code": "31120000"                    // код объекта (использовать для серии объектов)
                       //    , "semantics": ["SEM9", "SEM5", "SEM4"]            // список ключей семантик
                       //}
                   ]
           }
       ],
       "selectlayersid":"01",
       "transaction": true
   };
 
разобрался с этой проблемой, оказалось это не ошибка, дело в том что это оказывается ключ конкретного объекта, а ключ "типа объекта" из чего получается что все объекты этого типа можно редактировать, подскажите можно ли как то разрешать редактирование только 1 определенного объекта?
 
Добрый день!  
Редактировать конкретный объект карты в стандартном инструменте редактора нельзя.

Но можно воспользоваться API функцией для работы с редактором АВТОНОМНО.
В этом случае нужно иметь geojson объекта, который нужно редатировать.
После выполнения редактирования при завершении работы редактора Вы получите отредактированный geojson,
с которым можно делать все, что угодно.
В этом случае Вы сами должны позаботиться о сохранении объекта на карту или куда-нибудь еще (например, в базу данных).

Функция

    /**
    * Работа режима редактирования объекта редактора карты в автономном режиме
    * @method mapEditorAutonomous_Editing
    * @param map {Object} - карта GWTK.Map
    * @param mapobjectJSON {Object}  - объект карты в формате geojson
    * @param param {Object} Параметры редактора GWTK.EditorParameters
    * @returns  - {Object GWTK.mapeditorTask} задача mapeditorTask
    * при завершении операции создания/редактирования инициируется триггер mapeditorAutonomous {
    * "type": "mapeditorAutonomous"
    * "action":  'start', 'save' или "cancel"
    * "mapobjects" : объекты карты, подлежащие сохранению, в формате geojson при action = "save"
    * "sender" : объект, инициализировавший событие
    *}
    * Пример обработки триггера
    * $(map.eventPane).one('mapeditorAutonomous', function () {
    *   // действия пользователя
    * });
    */
GWTK.mapEditorAutonomous_Editing(map, mapobjectJSON, param);


Пример использования

      var mapobject_edit =
           {"type":"FeatureCollection",
               "features": [
                   {"type":"Feature",
                       "geometry": {"type":"Polygon",
                           "coordinates": [
                               [
                                   [38.420999700,55.845681962],[38.424432928,55.848235810],[38.428209478,55.847705780],
                                   [38.427866155,55.844910956],[38.422544653,55.844959145],[38.421085531,55.845681962],
                                   [38.420999700,55.845681962]]
                           ] },
                       "properties": {
                           "id": "Гостевая карта.1288",  // Имя листа карты.дентификатор объекта
                           "mapid": "guestmap",          // Идентификатор слоя на АП сервисе
                           "key": "S0000000071",         // Ключ объекта в классификаторе
                           'name': "ГОСУДАРСТВО"         // Наименование объекта из классификатора
                       }
                   }
               ]  };


              // РЕДАКТИРОВАНИЕ
               var ed = GWTK.mapEditorAutonomous_Editing(theMap, mapobject_edit,
                   {
                       "maplayersid": ["infrastruct"],  // идентификатор редактируемого слоя
                       "functions": []
                   });


            $(theMap.eventPane).on('mapeditorAutonomous', function (event) {
                  // действия пользователя
                   console.log(event);
               });
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2020

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности