Enterprise - настройка пользовательского векторного слоя для отслеживания (дополнительно)

Доступно с дополнительным модулем ArcGIS Indoors Maps.

ArcGIS Indoors поддерживает публикацию местоположения устройства через пользовательский векторный слой, размещенный в хранилище пространственно-временных больших данных, которое связано с порталом. Вы можете использовать этот сервис вместо сервиса Location Sharing.

Внимание:

Этот сервис поддерживает только сбор треков от устройств (исторические местоположения). Функция поиска по коллегам и их последних известных местоположений в данном приложении недоступна.

Мобильное приложение Indoors всегда отправляет сведения о местоположениях в сервис объектов Location Sharing, если он включен на портале, даже когда вы настроили пользовательский векторный слой.

Схема объектов отслеживания устройств

В следующей таблице описаны поля и типы данных класса объектов отслеживания:

Имя поляПсевдоним поляТип данныхОписаниеПримеры значений

действие

Действие

esriFieldTypeInteger

Активность, передаваемая устройством (на месте, пешком, на автомобиле и др.)

0, 1, 2, ...

altitude

Высота

esriFieldTypeDouble

Значение высоты, передаваемое приемником GPS на устройстве

0,5, 1,0, 5,0

app_id

ID приложения

esriFieldTypeString

Название приложения

ArcGIS Indoors (константа)

background_mode

Фоновый режим

esriFieldTypeSmallInteger

Состояние приложения при запуске на устройстве (активное или фоновое)

0,1

battery_percentage

Процент заряда батареи

esriFieldTypeDouble

Уровень заряда батареи, передаваемый устройством

1 -100

battery_state

Состояние батареи

esriFieldTypeInteger

Состояние батареи, передаваемое устройством (заряжается, не заряжается)

1,2

course

Курс

esriFieldTypeDouble

Основное направление по отношению к истинному северу

0 -359

device_id

ID устройства

esriFieldTypeString

Уникальный идентификатор устройства, на котором запущено приложение

GUID

device_type

Тип устройства

esriFieldTypeString

Производитель и модель устройства

iPhone 7, Pixel 2

floor

Этаж

esriFieldTypeInteger

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

0, 1, 2

horizontal_accuracy

Горизонтальная точность

esriFieldTypeDouble

Радиус неточности по широте и долготе в метрах

0,5, 1,0, 2,5

latitude

Latitude

esriFieldTypeDouble

Значение широты, передаваемое приемником GPS на устройстве

От -90 до 90

location_source

Источник данных о местоположении

esriFieldTypeString

Источник сигнала системы внутреннего позиционирования, передаваемый ELSS

BLE, Wi-Fi, GPS

location_timestamp

Временная метка местоположения

esriFieldTypeDate

Значение даты и времени передачи данных о местоположении

2/21/2019, 10:46 PM

longitude

Longitude

esriFieldTypeDouble

Значение долготы, передаваемое приемником GPS на устройстве

От -180 до 180

session_id

ID сеанса

esriFieldTypeString

Значение, представляющее сессию отслеживания

Примечание к отслеживанию

signal_strength

Сила сигнала

esriFieldTypeDouble

Сила получения радиосигнала (RSSI)

-1, -90

speed

Скорость

esriFieldTypeDouble

Скорость передвижения, передаваемая сенсорами на устройстве

1.0 (м/с)

user_id

ID пользователя

esriFieldTypeString

Имя пользователя, которое использовалось для входа в приложение

user_Indoors

vertical_accuracy

Вертикальная точность

esriFieldTypeDouble

Вертикальная точность значения атрибута

0,0, 0,5, 1,0

Создание векторного слоя отслеживания устройства

Векторный слой должен быть настроен на вашем портале со схемой отслеживания устройства, чтобы в него записывались данные о местоположении. Рекомендуется использовать хранилище пространственно-временных больших данных, поскольку оно может масштабироваться под хранение больших объемов данных об отслеживании.

Настройка хранилища пространственно-временных данных

Выполните следующие шаги, чтобы настроить хранилище пространственно-временных данных на портале.

  1. Установите ArcGIS Data Store.
  2. Создание хранилища пространственно-временных данных
    Примечание:

    Перейдите в https://<my big data store>/arcgis/datastore/, чтобы подтвердить статус конфигурации и убедиться, что сервер ArcGIS Enterprise, указанный в процессе инсталляции, находится в списке.

Создать векторный слой

Чтобы создать векторный слой для отслеживания устройства, выполните следующие шаги:

  1. Перейдите в https://<my indoors portal>/portal/sharing/rest/login и выполните вход от имени учетной записи основного администратора.
  2. Перейдите в https://<my indoors portal>/sharing/rest/content/users/<admin>/createService.
  3. Предоставьте шаблон JSON в текстовом окне Создать параметры и щелкните Создать сервис.
    
    {
      "name" : "DeviceTracking_BDS",
      "editorTrackingInfo": {
        "enableEditorTracking": true,
        "enableOwnershipAccessControl": true,
        "allowOthersToUpdate": false,
        "allowOthersToDelete": false,
        "allowOthersToQuery": false
       },
      "capabilities" : "Create,Delete,Query,Update,Editing",
    options: {"dataSourceType":"spatiotemporal"}
    }
    Примечание:

    Запомните URL сервиса, когда он создается и убедитесь, что он существует.

Создать векторный слой

Чтобы создать векторный слой для отслеживания устройства, выполните следующие шаги:

  1. Перейдите в https://<my indoors portal>/server/rest/admin/services/Hosted/<name>/FeatureServer/addToDefinition.
  2. Предоставьте шаблон JSON в текстовом окне Входные данные и щелкните addToDefinition.
    {
                    "layers": [{
                                    "currentVersion": 10.7,
                                    "cimVersion": "2.3.0",
                                    "id": 0,
                                    "name": "DeviceTracking_BDS",
                                    "type": "Feature Layer",
                                    "parentLayer": null,
                                    "defaultVisibility": true,
                                    "minScale": 0,
                                    "maxScale": 0,
                                    "geometryType": "esriGeometryPoint",
                                    "description": "",
                                    "copyrightText": "",
                                    "editFieldsInfo": {
                                                    "creationDateField": "created_date",
                                                    "creatorField": "created_user",
                                                    "editDateField": "last_edited_date",
                                                    "editorField": "last_edited_user"
                                    },
                                    "syncCanReturnChanges": true,
                                    "relationships": [],
                                    "isDataVersioned": false,
                                    "isDataArchived": false,
                                    "isDataBranchVersioned": false,
                                    "isCoGoEnabled": false,
                                    "supportsRollbackOnFailureParameter": true,
                                    "supportsStatistics": true,
                                    "supportsAdvancedQueries": true,
                                    "supportsValidateSQL": true,
                                    "supportsCoordinatesQuantization": true,
                                    "supportsCalculate": true,
                                    "advancedQueryCapabilities": {
                                                    "supportsReturningQueryExtent": true,
                                                    "supportsStatistics": true,
                                                    "supportsDistinct": true,
                                                    "supportsPagination": true,
                                                    "supportsOrderBy": true,
                                                    "supportsQueryWithDistance": true,
                                                    "supportsLod": false,
                                                    "supportsPaginationOnAggregatedQueries": true,
                                                    "supportsQueryWithResultType": true,
                                                    "supportsCountDistinct": true,
                                                    "supportsReturningGeometryCentroid": false,
                                                    "supportsHavingClause": true,
                                                    "supportsTopFeaturesQuery": false,
                                                    "supportsOrderByOnlyOnLayerFields": true
                                    },
                                    "extent": {
                                                    "xmin": "NaN",
                                                    "ymin": "NaN",
                                                    "xmax": "NaN",
                                                    "ymax": "NaN",
                                                    "spatialReference": {
                                                                    "wkid": 102100,
                                                                    "latestWkid": 3857,
                                                                    "xyTolerance": 0.001,
                                                                    "zTolerance": 0.001,
                                                                    "mTolerance": 0.001,
                                                                    "falseX": -2.204125862706707E7,
                                                                    "falseY": -3.3265068604224768E7,
                                                                    "xyUnits": 1.3538524994349548E8,
                                                                    "falseZ": -100000,
                                                                    "zUnits": 10000,
                                                                    "falseM": -100000,
                                                                    "mUnits": 10000
                                                    }
                                    },
                                    "sourceSpatialReference": {
                                                    "wkid": 102100,
                                                    "latestWkid": 3857,
                                                    "xyTolerance": 0.001,
                                                    "zTolerance": 0.001,
                                                    "mTolerance": 0.001,
                                                    "falseX": -2.20412586270671E7,
                                                    "falseY": -3.32650686042248E7,
                                                    "xyUnits": 1.35385249943495E8,
                                                    "falseZ": -100000,
                                                    "zUnits": 10000,
                                                    "falseM": 0,
                                                    "mUnits": 1
                                    },
                                    "drawingInfo": {
                                                    "renderer": {
                                                                    "type": "simple",
                                                                    "symbol": {
                                                                                    "type": "esriSMS",
                                                                                    "style": "esriSMSCircle",
                                                                                    "color": [
                                                                                                    28,
                                                                                                    130,
                                                                                                    0,
                                                                                                    255
                                                                                    ],
                                                                                    "size": 4,
                                                                                    "angle": 0,
                                                                                    "xoffset": 0,
                                                                                    "yoffset": 0,
                                                                                    "outline": {
                                                                                                    "color": [
                                                                                                                    0,
                                                                                                                    0,
                                                                                                                    0,
                                                                                                                    255
                                                                                                    ],
                                                                                                    "width": 1
                                                                                    }
                                                                    }
                                                    },
                                                    "scaleSymbols": true,
                                                    "transparency": 0,
                                                    "labelingInfo": null
                                    },
                                    "hasM": false,
                                    "hasZ": true,
                                    "supportsVCSProjection": true,
                                    "allowTrueCurvesUpdates": false,
                                    "onlyAllowTrueCurveUpdatesByTrueCurveClients": true,
                                    "hasAttachments": false,
                                    "supportsApplyEditsWithGlobalIds": true,
                                    "htmlPopupType": "esriServerHTMLPopupTypeAsHTMLText",
                                    "objectIdField": "objectid",
                                    "globalIdField": "globalid",
                                    "displayField": "app_id",
                                    "typeIdField": "",
                                    "fields": [{
                                                                    "name": "objectid",
                                                                    "type": "esriFieldTypeOID",
                                                                    "alias": "OBJECTID",
                                                                    "domain": null,
                                                                    "nullable": false,
                                                                    "editable": false,
                                                                    "sqlType": "sqlTypeInteger"
                                                    },
                                                    {
                                                                    "name": "activity",
                                                                    "type": "esriFieldTypeInteger",
                                                                    "alias": "Activity",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 10,
                                                                    "sqlType": "sqlTypeInteger"
                                                    },
                                                    {
                                                                    "name": "altitude",
                                                                    "type": "esriFieldTypeDouble",
                                                                    "alias": "Altitude",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 38,
                                                                    "sqlType": "sqlTypeNumeric"
                                                    },
                                                    {
                                                                    "name": "app_id",
                                                                    "type": "esriFieldTypeString",
                                                                    "alias": "App ID",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 255,
                                                                    "sqlType": "sqlTypeVarchar"
                                                    },
                                                    {
                                                                    "name": "background_mode",
                                                                    "type": "esriFieldTypeSmallInteger",
                                                                    "alias": "Background Mode",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 5,
                                                                    "sqlType": "sqlTypeSmallInt"
                                                    },
                                                    {
                                                                    "name": "battery_percentage",
                                                                    "type": "esriFieldTypeDouble",
                                                                    "alias": "Battery Percentage",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 38,
                                                                    "sqlType": "sqlTypeNumeric"
                                                    },
                                                    {
                                                                    "name": "battery_state",
                                                                    "type": "esriFieldTypeInteger",
                                                                    "alias": "Battery State",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 10,
                                                                    "sqlType": "sqlTypeInteger"
                                                    },
                                                    {
                                                                    "name": "course",
                                                                    "type": "esriFieldTypeDouble",
                                                                    "alias": "Course",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 38,
                                                                    "sqlType": "sqlTypeNumeric"
                                                    },
                                                    {
                                                                    "name": "device_id",
                                                                    "type": "esriFieldTypeString",
                                                                    "alias": "Device ID",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 256,
                                                                    "sqlType": "sqlTypeVarchar"
                                                    },
                                                    {
                                                                    "name": "device_type",
                                                                    "type": "esriFieldTypeString",
                                                                    "alias": "Device Type",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 255,
                                                                    "sqlType": "sqlTypeVarchar"
                                                    },
                                                    {
                                                                    "name": "floor",
                                                                    "type": "esriFieldTypeInteger",
                                                                    "alias": "Floor",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 10,
                                                                    "sqlType": "sqlTypeInteger"
                                                    },
                                                    {
                                                                    "name": "horizontal_accuracy",
                                                                    "type": "esriFieldTypeDouble",
                                                                    "alias": "Horizontal Accuracy",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 38,
                                                                    "sqlType": "sqlTypeNumeric"
                                                    },
                                                    {
                                                                    "name": "latitude",
                                                                    "type": "esriFieldTypeDouble",
                                                                    "alias": "Latitude",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 38,
                                                                    "sqlType": "sqlTypeNumeric"
                                                    },
                                                    {
                                                                    "name": "location_source",
                                                                    "type": "esriFieldTypeString",
                                                                    "alias": "Location Source",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 256,
                                                                    "sqlType": "sqlTypeVarchar"
                                                    },
                                                    {
                                                                    "name": "location_timestamp",
                                                                    "type": "esriFieldTypeDate",
                                                                    "alias": "Location Timestamp",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 29,
                                                                    "sqlType": "sqlTypeTimestamp"
                                                    },
                                                    {
                                                                    "name": "longitude",
                                                                    "type": "esriFieldTypeDouble",
                                                                    "alias": "Longitude",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 38,
                                                                    "sqlType": "sqlTypeNumeric"
                                                    },
                                                    {
                                                                    "name": "signal_strength",
                                                                    "type": "esriFieldTypeDouble",
                                                                    "alias": "Signal Strength",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 38,
                                                                    "sqlType": "sqlTypeNumeric"
                                                    },
                                                    {
                                                                    "name": "session_id",
                                                                    "type": "esriFieldTypeString",
                                                                    "alias": "Session ID",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 256,
                                                                    "sqlType": "sqlTypeVarchar"
                                                    },
                                                    {
                                                                    "name": "speed",
                                                                    "type": "esriFieldTypeDouble",
                                                                    "alias": "Speed",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 38,
                                                                    "sqlType": "sqlTypeNumeric"
                                                    },
                                                    {
                                                                    "name": "user_id",
                                                                    "type": "esriFieldTypeString",
                                                                    "alias": "User ID",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 256,
                                                                    "sqlType": "sqlTypeVarchar"
                                                    },
                                                    {
                                                                    "name": "vertical_accuracy",
                                                                    "type": "esriFieldTypeDouble",
                                                                    "alias": "Vertical Accuracy",
                                                                    "domain": null,
                                                                    "editable": true,
                                                                    "nullable": false,
                                                                    "length": 38,
                                                                    "sqlType": "sqlTypeNumeric"
                                                    },
                                                    {
                                                                    "name": "globalid",
                                                                    "type": "esriFieldTypeGlobalID",
                                                                    "alias": "GlobalID",
                                                                    "domain": null,
                                                                    "editable": false,
                                                                    "nullable": false,
                                                                    "length": 38,
                                                                    "sqlType": "sqlTypeVarchar"
                                                    },
                                                    {
                                                                    "alias": "created_user",
                                                                    "name": "created_user",
                                                                    "length": 255,
                                                                    "domain": null,
                                                                    "nullable": true,
                                                                    "type": "esriFieldTypeString",
                                                                    "editable": false,
                                                                    "sqlType": "sqlTypeVarchar"
                                                    },
                                                    {
                                                                    "alias": "created_date",
                                                                    "name": "created_date",
                                                                    "length": 29,
                                                                    "domain": null,
                                                                    "nullable": true,
                                                                    "type": "esriFieldTypeDate",
                                                                    "editable": false,
                                                                    "sqlType": "sqlTypeTimestamp"
                                                    },
                                                    {
                                                                    "alias": "last_edited_user",
                                                                    "name": "last_edited_user",
                                                                    "length": 255,
                                                                    "domain": null,
                                                                    "nullable": true,
                                                                    "type": "esriFieldTypeString",
                                                                    "editable": false,
                                                                    "sqlType": "sqlTypeVarchar"
                                                    },
                                                    {
                                                                    "alias": "last_edited_date",
                                                                    "name": "last_edited_date",
                                                                    "length": 29,
                                                                    "domain": null,
                                                                    "nullable": true,
                                                                    "type": "esriFieldTypeDate",
                                                                    "editable": false,
                                                                    "sqlType": "sqlTypeTimestamp"
                                                    }
                                    ],
                                    "geometryField": {
                                                    "name": "shape",
                                                    "type": "esriFieldTypeGeometry",
                                                    "alias": "Shape",
                                                    "domain": null,
                                                    "editable": true,
                                                    "nullable": true,
                                                    "defaultValue": null,
                                                    "modelName": "Shape"
                                    },
                                    "indexes": [{
                                                                    "name": "r59_sde_rowid_uk",
                                                                    "fields": "OBJECTID",
                                                                    "isAscending": true,
                                                                    "isUnique": true,
                                                                    "description": ""
                                                    },
                                                    {
                                                                    "name": "uuid_59",
                                                                    "fields": "GlobalID",
                                                                    "isAscending": true,
                                                                    "isUnique": true,
                                                                    "description": ""
                                                    },
                                                    {
                                                                    "name": "a32_ix1",
                                                                    "fields": "Shape",
                                                                    "isAscending": true,
                                                                    "isUnique": true,
                                                                    "description": ""
                                                    }
                                    ],
                                    "dateFieldsTimeReference": {
                                                    "timeZone": "UTC",
                                                    "respectsDaylightSaving": false
                                    },
                                    "types": [],
                                    "templates": [{
                                                    "name": "DeviceTracking",
                                                    "description": "",
                                                    "prototype": {
                                                                    "attributes": {
                                                                                    "vertical_accuracy": 0,
                                                                                    "user_id": " ",
                                                                                    "activity": 0,
                                                                                    "altitude": 0,
                                                                                    "app_id": " ",
                                                                                    "background_mode": 0,
                                                                                    "battery_percentage": 0,
                                                                                    "battery_state": 0,
                                                                                    "course": 0,
                                                                                    "device_id": " ",
                                                                                    "device_type": " ",
                                                                                    "floor": 0,
                                                                                    "horizontal_accuracy": 0,
                                                                                    "latitude": 0,
                                                                                    "location_source": " ",
                                                                                    "location_timestamp": -2209161600000,
                                                                                    "longitude": 0,
                                                                                    "signal_strength": 0,
                                                                                    "session_id": " ",
                                                                                    "speed": 0
                                                                    }
                                                    },
                                                    "drawingTool": "esriFeatureEditToolPoint"
                                    }],
                                    "useStandardizedQueries": true,
                                    "standardMaxRecordCount": 32000,
                                    "tileMaxRecordCount": 8000,
                                    "maxRecordCountFactor": 1,
                                    "supportedQueryFormats": "JSON, geoJSON",
                                    "maxRecordCount": 2000,
                                    "allowGeometryUpdates": true,
                                    "hasMetadata": true,
                                    "supportsAttachmentsByUploadId": true,
                                    "hasStaticData": false,
                                    "supportsAsyncDelete": true
                    }]
    }
  3. Когда процесс будет выполнен успешно, перейдите по ссылке https://<my indoors portal>/portal/home/content и убедитесь, что элемент существует.

Настройка параметров безопасности

Настройте параметры безопасности для векторного слоя отслеживания устройства в зависимости от требований к безопасности в вашей организации.

Чтобы настроить параметры безопасности, выполните следующие шаги:

  1. На портале щелкните вкладку Настройки.
  2. В разделе Векторный слой в подразделе Редактирование поставьте отметку для опции Включить редактирование.
  3. Дополнительно можно поставить отметку для опции Отслеживать, кто создал и последний раз обновил объекты.
  4. В зависимости от правил хранения в организации и требований к безопасности, выберите одну из опций в разделе Какой тип редактирования разрешен:
    • Добавить и обновить объекты
    • Добавить, обновить или удалить объекты
    Примечание:

    Опция Добавить объекты не поддерживается.

  5. Если вы отметили опцию Отслеживать созданные и обновленные объекты, выберите опции в секциях Какие объекты могут видеть редакторы и Какие объекты могут редактировать редакторы?:
    • Редакторы могут видеть все объекты
    • Редакторы могут видеть только свои объекты
    • Редакторы не могут видеть ни одного объекта, даже если они сами их добавили

    Рекомендуется в этих разделах оставить выбранным вариант по умолчанию Редакторы могут видеть только свои объекты и Редакторы могут редактировать только свои объекты.

    Более подробно об управлении настройками редактирования и отслеживании правок.

  6. Щелкните Сохранить.

Настройка параметров доступа

Чтобы добавить информацию о местоположении , открыв доступ к векторному слою, выполните следующие шаги:

  1. Щелкните вкладку Обзор и выберите Общий доступ.

    Появится диалоговое окно Общий доступ.

  2. Откройте доступ для участников портала организации или групп.
    Подсказка:

    Укажите URL страницы Обзор как Config Valueполе для DEVICE_MONITOR_ENDPOINT_FEATURESERVICE в таблице Indoors Configuration.Теперь вы можете просматривать точки отслеживания устройств на веб-карте.

Подготовка карты для отслеживания устройств

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

Более подробно о создании зон отслеживания для отслеживания устройств и настройке параметров публикации местоположений устройств.

Просмотр данных об отслеживании устройств

Чтобы создать веб-карту для просмотра данных отслеживания и предоставления этих сведений участникам вашей организации, выполните следующие шаги:

  1. На портале щелкните Ресурсы и перейдите на вкладку Мои ресурсы.
  2. Щелкните Создать > карту.
  3. Выберите создание новой карты и затем нажмите Открыть в Map Viewer.
  4. Щелкните Добавить и добавьте векторный слой отслеживания устройств.
  5. Приблизьтесь к нужному объекту и нажмите Сохранить.
  6. Щёлкните Общий доступ и выберите участников, которым необходимо открыть общий доступ к карте.
  7. Щелкните Готово.

Создание операционной панели

Операционная панель - это вариант представления данных публикации местоположения устройства, которую можно использовать для отслеживания событий и активности. Панели мониторинга представляют разные варианты визуализации, которые одновременно видны на одном экране. Они предлагают комплексное представление данных, дающее понятие об управлении данными. Вы можете создать панель мониторинга, которая поможет просматривать данные публикации местоположения устройства.

Связанные разделы