Тема: Проблема с получением tile-изображений карты посредством Wialon Pro
Добрый день,
При использовании Wialon Pro Remote API мы столкнулись со проблемой отсутствия tile-изображений карты - не работает remote API метод http://sdk.wialon.com/wiki/ru/pro/remot … avl_render
Последовательность шагов:
1) Выполняем операцию core/login (http://sdk.wialon.com/wiki/ru/pro/remoteapi/apiref/core/login, пример запроса ниже) и получаем корректный ответ с ssid
Запрос:
POST /ajax.html HTTP/1.1
Host 10.160.60.12:8026
Body svc=core%2Flogin¶ms=%7B%22user%22%3A%22wialon%22%2C%22password%22%3A%22Nucepuc8aYa7%22%7D
Ответ:
{"uid":329,"eid":139,"ssid":"8b3bccff8515bb90882d8a9b9ca5a280","pi":2,"tm":1368617295,"user":{"nm":"wialon","cls":1,"id":329,"gd":"b7cec4090d465db93d53b7e47bbd8076","prp":{},"pup":{"email":"wialon@your-domain.com","fpnl":"devices","language":"ru","minimap_zoom_level":"15","mont":"1","monu":"[\"331\",\"332\"]","monuv":"331","msc":"1","muf":"11","muow":"331","umap":"WebGIS","vsplit_block_left_panel":"381","vsplit_monitoring_map_target":"200"},"crt":0,"bact":0,"fl":4,"usnf":{},"smsp":""},"classes":{"avl_hw":5,"avl_resource":4,"avl_retranslator":6,"avl_unit":3,"avl_unit_group":7,"user":1,"users_group":2}}
2) Выполняем операцию renderer/create_image_renderer (http://sdk.wialon.com/wiki/ru/pro/remoteapi/apiref/renderer/create_image_renderer, пример запроса ниже) и получаем корректный ответ с названием рендерера
Запрос:
POST /ajax.html HTTP/1.1
Host 10.160.60.12:8026
Body svc=renderer%2Fcreate_image_renderer¶ms=%7B%22tzOffset%22%3A2%2C%22lang%22%3A%22ru%22%7D&ssid=8b3bccff8515bb90882d8a9b9ca5a280
Ответ:
{"name":"avl-13149f90-0x7f2e1c0a19f0-0x7f2e23fff700","layers":[],"bounds":[0,0,0,0]}
3) Выполняем запрос получения tile-изображений (http://sdk.wialon.com/wiki/ru/pro/remoteapi/apiref/requests/avl_render, примеры запросов, ниже) и сервер ничего не отдает в ответ (соединение сбрасывается).
Запросы тайлов, которые не возвращают ничего:
http://195.137.196.148/avl_render/19162 … fff700.png
http://195.137.196.148/avl_render/19162 … fff700.png
http://195.137.196.148/avl_render/19161 … fff700.png
http://195.137.196.148/avl_render/19161 … fff700.png
http://195.137.196.148/avl_render/19163 … fff700.png
У нас установлен в тестовом режиме Wialon Pro 1301 Release 3.
Значения координат и zoom расчитываем верно, поскольку при этом на хостинг версии похожий функционал работает.
Карты инициализируются следующим образом (в комментариях кода приведены работающий и неработающий участки с объяснениями):
var GurtamMapsType = function() {};
GurtamMapsType.prototype.tileSize = new google.maps.Size(256, 256);
GurtamMapsType.prototype.maxZoom = 17;
GurtamMapsType.prototype.name = "Gurtam";
GurtamMapsType.prototype.alt = "Gurtam Maps";
GurtamMapsType.prototype.getTile = function(coord, zoom, ownerDocument)
{
//below is CORRECT tile-rendering version with Wialon HOSTING
//var url = "http://render.mapsviewer.com/hst-api.wialon.com/gis_render/" + coord.x + "_" + coord.y + "_" + (this.maxZoom-zoom) + "/tile.png";
//and our NON-working version translated to Wialon PRO Remote API in general form - http://10.160.60.12/avl_render/<x-coordinate>_<y-coordinate>_<zoom>/<renderer-version>/<renderer-name>.png
//and with real-url non-working example: http://10.160.60.12/avl_render/19162_11048_2/2/avl-13149f90-0x7f2e1c0a19f0-0x7f2e23fff700.png
var url = window.ra.GetTileUrl(coord.x, coord.y, (this.maxZoom-zoom));
var img = ownerDocument.createElement("IMG");
img.src = url;
img.style.width = this.tileSize.width + "px";
img.style.height = this.tileSize.height + "px";
img.style.border = "0px";
return img;
};
Все ли мы делаем верно и как получать tile изображений при помощи wialon pro remote api?