Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

ru:local:remoteapi1504:codesamples:messages [13/03/2015 10:38]
ru:local:remoteapi1504:codesamples:messages [13/03/2015 10:38] (текущий)
Строка 1: Строка 1:
 +{{indexmenu_n>​9}}
 +====== Сообщения ======
 +Чтобы загрузить,​ а затем работать с сообщениями в сессии есть встроенный объект -- загрузчик сообщений. В него можно загружать сообщения используя команду [[../​apiref/​messages/​load_last|messages/​load_last]] или [[../​apiref/​messages/​load_interval|messages/​load_interval]] и дальше работать с ними, если требуется загрузить другие сообщения,​ то предварительно нужно очистить загрузчик при помощи команды [[../​apiref/​messages/​unload|messages/​unload]].
  
 +//:!: Внимание!//​ Для запуска данного примера на Wialon Kit во всех запросах следует заменить **<​nowiki>​https://​hst-api.wialon.com</​nowiki>​** на **<​nowiki>​https://​kit-api.wialon.com</​nowiki>​**,​ а для входа в систему использовать логин и пароль своей учетной записи или логин и пароль демо-пользователя:​ //**kitdemo kitdemo**//​.
 +
 +===== Загрузка сообщений =====
 +Загрузим сообщения с данными о местоположении объекта за интервал с 01.04.2013 по 20.04.2013 при помощи запроса [[../​apiref/​messages/​load_interval|messages/​load_interval]] и получим первые 3 из них. Для того, чтобы запросить только сообщения с местоположением,​ следует использовать маску 0xFF01 (0xFF00 - определяет тип сообщения,​ 0x0001 - определяет наличие информации о местоположении для сообщений с данными). Так же необходимо использовать флаг 0x0001, ​ который получается из суммы флагов:​ 0x0000 - сообщения с данными,​ 0x0001 - сообщения с местоположением.
 +<​code>​
 +https://​hst-api.wialon.com/​wialon/​ajax.html?​svc=messages/​load_interval&​
 + params={
 + "​itemId":​34868,​
 + "​timeFrom":​1364760000,​
 + "​timeTo":​1366487999,​
 + "​flags":​0x0001,​
 + "​flagsMask":​0xFF01,​
 + "​loadCount":​3
 + }&​sid=<​your_sid>​
 +</​code>​
 +
 +Результат выполнения:​
 +<code javascript>​
 +{
 +    "​count":​ 9172,
 +    "​messages":​ [{
 +        "​t":​ 1364760081,
 +        "​f":​ 3,
 +        "​tp":​ "​ud",​
 +        "​pos":​ {
 +            "​y":​ 53.8396544,
 +            "​x":​ 27.5608672,
 +            "​z":​ 213,
 +            "​s":​ 0,
 +            "​c":​ 51,
 +            "​sc":​ 9
 +        },
 +        "​i":​ 0,
 +        "​p":​ {
 +            "​param22":​ 3,
 +            "​adc1":​ 12.606,
 +            "​pwr_ext":​ 12.598,
 +            "​param199":​ 0,
 +            "​param241":​ 25701,
 +            "​battery_charge":​ 0
 +        }
 +    }, {
 +        "​t":​ 1364760381,
 +        "​f":​ 3,
 +        "​tp":​ "​ud",​
 +        "​pos":​ {
 +            "​y":​ 53.8396544,
 +            "​x":​ 27.5609312,
 +            "​z":​ 213,
 +            "​s":​ 0,
 +            "​c":​ 73,
 +            "​sc":​ 9
 +        },
 +        "​i":​ 0,
 +        "​p":​ {
 +            "​param22":​ 3,
 +            "​adc1":​ 12.545,
 +            "​pwr_ext":​ 12.547,
 +            "​param199":​ 0,
 +            "​param241":​ 25701,
 +            "​battery_charge":​ 0
 +        }
 +    }, {
 +        "​t":​ 1364760682,
 +        "​f":​ 3,
 +        "​tp":​ "​ud",​
 +        "​pos":​ {
 +            "​y":​ 53.8396736,
 +            "​x":​ 27.5609664,
 +            "​z":​ 215,
 +            "​s":​ 0,
 +            "​c":​ 64,
 +            "​sc":​ 9
 +        },
 +        "​i":​ 0,
 +        "​p":​ {
 +            "​param22":​ 3,
 +            "​adc1":​ 12.6,
 +            "​pwr_ext":​ 12.569,
 +            "​param199":​ 0,
 +            "​param241":​ 25701,
 +            "​battery_charge":​ 0
 +        }
 +    }]
 +}
 +</​code>​
 +
 +После того как сообщения загружены,​ можно выбрать их произвольное количество для дальнейшей обработки. Например,​ выберем девятое сообщение из загруженного интервала при помощи запроса [[../​apiref/​messages/​get_messages|messages/​get_messages]]:​
 +
 +<​code>​
 +https://​hst-api.wialon.com/​wialon/​ajax.html?​svc=messages/​get_messages&​
 + params={
 + "​indexFrom":​8,​
 + "​indexTo":​9
 + }&​sid=<​your_sid>​
 +</​code>​
 +
 +Результат выполнения:​
 +<code javascript>​
 +[{
 +    "​t":​ 1364762485,
 +    "​f":​ 3,
 +    "​tp":​ "​ud",​
 +    "​pos":​ {
 +        "​y":​ 53.8396992,
 +        "​x":​ 27.5609216,
 +        "​z":​ 223,
 +        "​s":​ 0,
 +        "​c":​ 45,
 +        "​sc":​ 7
 +    },
 +    "​i":​ 0,
 +    "​p":​ {
 +        "​param22":​ 3,
 +        "​adc1":​ 12.584,
 +        "​pwr_ext":​ 12.569,
 +        "​param199":​ 0,
 +        "​param241":​ 25701,
 +        "​battery_charge":​ 0
 +    }
 +}]
 +</​code>​
 +
 +
 +===== Удаление сообщений =====
 +Теперь попробуем удалить первое сообщение при помощи запроса [[../​apiref/​messages/​delete_message|messages/​delete_message]]:​
 +<​code>​
 +https://​hst-api.wialon.com/​wialon/​ajax.html?​svc=messages/​delete_message&​
 + params={
 + "​msgIndex":​0
 + }&​sid=<​your_sid>​
 +</​code>​
 +
 +Результат выполнения:​
 +<code javascript>​
 +{
 +    "​error":​ 7
 +}
 +</​code>​
 +
 +Пользователь wialon_test не может удалять сообщения. При удачном выполнении этот запрос возвращает пустой объект:​
 +<code javascript>​
 +{}
 +</​code>​
 +
 +===== Очистка загрузчика сообщений =====
 +
 +Если возникла необходимость загрузить сообщения за другой интервал,​ то перед выполнением запроса нужно [[../​apiref/​messages/​unload|очистить загрузчик сообщений]]:​
 +<​code>​
 +https://​hst-api.wialon.com/​wialon/​ajax.html?​svc=messages/​unload&​params={}&​sid=<​your_sid>​
 +</​code>​
 +
 +Результат выполнения:​
 +<code javascript>​
 +{}
 +</​code>​
 +
 +Если попытаться выполнить запрос сообщений из пустого загрузчика сообщений,​ то вернется код ошибки:​
 +<​code>​
 +https://​hst-api.wialon.com/​wialon/​ajax.html?​svc=messages/​get_messages&​
 + params={
 + "​indexFrom":​0,​
 + "​indexTo":​1
 + }&​sid=<​your_sid>​
 +</​code>​
 +
 +Результат выполнения:​
 +<code javascript>​
 +{"​error":​4}
 +</​code>​
 +
 +===== Построение слоя треков =====
 +
 +Так же Wialon дает возможность не просто загрузить сообщения,​ но и построить трек по этим сообщениям. Для этого нужно загрузить сообщения в специальный графический слой. Слой треков можно использовать так же как и загрузчик сообщений,​ единственное отличие между ними - это графическая составляющая.
 +
 +Создадим слой треков по сообщениям,​ полученным с 01.01.2013 по 20.01.2013 при помощи запроса [[../​apiref/​render/​create_messages_layer|render/​create_messages_layer]]:​
 +
 +<​code>​
 +https://​hst-api.wialon.com/​wialon/​ajax.html?​svc=render/​create_messages_layer&​
 + params={
 + "​layerName":"​messages",​
 + "​itemId":​34868,​
 + "​timeFrom":​1357938000,​
 + "​timeTo":​1358715599,​
 + "​tripDetector":​1,​
 + "​trackColor":​cc713cff,​
 + "​trackWidth":​5,​
 + "​arrows":​1,​
 + "​points":​0,​
 + "​pointColor":​0,​
 + "​annotations":​0
 + }&​sid=<​your_sid>​
 +</​code>​
 +
 +Результат выполнения:​
 +<code javascript>​
 +{
 +    "​name":​ "​messages",​
 +    "​bounds":​ [53.8326976,​ 27.2796096, 53.9644416, 27.6123168],​
 +    "​units":​ [{
 +        "​id":​ 34868,
 +        "​msgs":​ {
 +            "​count":​ 5951,
 +            "​first":​ {
 +                "​time":​ 1356984476,
 +                "​lat":​ 53.9077377319,​
 +                "​lon":​ 27.5011463165
 +            },
 +            "​last":​ {
 +                "​time":​ 1358538957,
 +                "​lat":​ 53.8397254944,​
 +                "​lon":​ 27.5608959198
 +            }
 +        },
 +        "​mileage":​ 699169.703025,​
 +        "​max_speed":​ 118
 +    }]
 +}
 +</​code>​
 +
 +Загруженные сообщения можно просмотреть или удалить,​ так же можно получить тайлы графического слоя при помощи запроса [[../​apiref/​requests/​avl_render|avl_render]]:​
 +<​code>​
 +https://​hst-api.wialon.com/​avl_render/​590_329_7/<​your_sid>​.png
 +</​code>​
 +
 +Результат выполнения:​
 +
 +{{/​remote_ex/​messages.png?​nolink}}
Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2024 Gurtam