Чтобы загрузить, а затем работать с сообщениями в сессии есть встроенный объект – загрузчик сообщений. В него можно загружать сообщения используя команду 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.
|