Чтобы загрузить, а затем работать с сообщениями в сессии есть встроенный объект – загрузчик сообщений. В него можно загружать сообщения используя команду messages/load_interval и дальше работать с ними, если требуется загрузить другие сообщения, то предварительно нужно очистить загрузчик при помощи команды messages/unload.
Загрузим 3 первых сообщения с событием за произвольный интервал при помощи запроса messages/load_interval:
<your_wialon_pro_address>/ajax.html?svc=messages/load_interval& params={ "itemId":48, "type":1, "ival1":1361912400, "ival2":1361998799, "flags":0, "flagsMask":0, "loadLocations":false, "loadCount":3 }&ssid=<your_sid>
Результат выполнения:
{ "count": 20, "messages": [{ "t": 1361964965, "f": 512, "tp": "ucr", "cn": "query_pos", "cp": "", "ug": "8793338c1389cc6c1bb7c64e3fdc565f", "ln": "", "lt": "gsm", "et": 1361964966, "p": {} "p": {} }, { "t": 1361964969, "f": 256, "tp": "us", "st": "PC,0001,27\/02\/13,11:36:07,5350.5499,N,02728.1261,E,29.0km,0.0,A,010043", "mp": "+375290000000", "p": {} }, { "t": 1361964981, "f": 512, "tp": "ucr", "cn": "query_pos", "cp": "", "ug": "8793338c1389cc6c1bb7c64e3fdc565f", "ln": "", "lt": "gsm", "et": 1361964982, "p": {} }] }
Всего в указанном интервале 20 сообщений с событием, но загружено в сессию 3 первых.
После того как сообщения загружены, можно выбрать их произвольное количество для дальнейшей обработки. Например, выберем два первых сообщения из загруженного массива при помощи запроса messages/get_messages:
<your_wialon_pro_address>/ajax.html?svc=messages/get_messages& params={ "indexFrom":0, "indexTo":1, "loadLocations":false }&ssid=<your_sid>
Результат выполнения:
[{ "t": 1361964965, "f": 512, "tp": "ucr", "cn": "query_pos", "cp": "", "ug": "8793338c1389cc6c1bb7c64e3fdc565f", "ln": "", "lt": "gsm", "et": 1361964966, "p": {} }, { "t": 1361964969, "f": 256, "tp": "us", "st": "PC,0001,27\/02\/13,11:36:07,5350.5499,N,02728.1261,E,29.0km,0.0,A,010043", "mp": "+375290000000", "p": {} }]
Теперь попробуем удалить первое сообщение при помощи запроса messages/delete_message:
<your_wialon_pro_address>/ajax.html?svc=messages/delete_message& params={ "index":0 }&ssid=<your_sid>
Результат выполнения:
0
Если возникла необходимость загрузить сообщения за другой интервал, то перед выполнением запроса нужно очистить загрузчик сообщений:
<your_wialon_pro_address>/ajax.html?svc=messages/unload¶ms={}&ssid=<your_sid>
Результат выполнения:
{}
Если попытаться выполнить запрос сообщений из пустого загрузчика сообщений, то вернется код ошибки:
<your_wialon_pro_address>/ajax.html?svc=messages/get_messages& params={ "indexFrom":0, "indexTo":1, "loadLocations":false }&ssid=<your_sid>
Результат выполнения:
{ "error": 1001 }
Так же Wialon Pro дает возможность не просто загрузить сообщения, но и построить трек по этим сообщениям. Для этого нужно загрузить сообщения в специальный графический слой. Слой треков можно использовать так же как и загрузчик сообщений, единственное отличие между ними - это графическая составляющая.
Прежде чем создавать слой треков нужно создать рендерер изображений:
<your_wialon_pro_address>/ajax.html?svc=renderer/create_image_renderer& params={ "tzOffset":134228528, "lang":"ru" }&ssid=<your_sid>
Результат выполнения:
{ "name": "avl-74d5ab0-0x206a7d0-0x7ff83cd97700", "layers": [], "bounds": [0, 0, 0, 0] }
Далее создадим слой треков по сообщениям, при помощи запроса render/create_messages_layer:
<your_wialon_pro_address>/ajax.html?svc=renderer/create_messages_layer& params={ "lname":"messages", "rname":"avl-74d5ab0-0x206a7d0-0x7ff83cd97700", "itemId":48, "timeFrom":1360875600, "timeTo":1361998799, "tripDetector":1, "trackColor":cc713cff, "trackWidth":5, "arrows":1, "points":0, "pointColor":0, "annotations":0, "roadLock":false }&ssid=<your_sid>
Результат выполнения:
{ "name": "messages", "bounds": [53.8327466667, 27.4098016667, 53.97141, 27.696855], "units": [{ "id": 9, "msgs": { "count": 71, "first": { "time": 1361275577, "lat": 53.8424987793, "lon": 27.4687690735 }, "last": { "time": 1361965107, "lat": 53.8801002502, "lon": 27.4176311493 } }, "mileage": 130117.245939, "max_speed": 80 }] }
Загруженные сообщения можно просмотреть или удалить, так же можно получить тайлы графического слоя при помощи запроса avl_render.
|