1

Получение координат юнита через Remote API в Wialon Pro

Topic: Получение координат юнита через Remote API в Wialon Pro

Возможно плохо искал, но нигде в доках по API не нашёл способ получить координаты объектов. Где искать пример?

2

Получение координат юнита через Remote API в Wialon Pro

Re: Получение координат юнита через Remote API в Wialon Pro

kest

Есть запросы на поиск элементов, в которых можно искать объекты и указать флаг, соответствующий последнему местоположению.

Пример:
http://sdk.wialon.com/wiki/ru/pro/remot … les/search

Также есть отдельные запросы на загрузку и получение сообщений за любой интервал.

Developer
Gurtam
3

Получение координат юнита через Remote API в Wialon Pro

(edited by kest 28/10/2013 21:21:00)

Re: Получение координат юнита через Remote API в Wialon Pro

большое спасибо за ответ, тогда ещё пара вопросов, если можно:

- можно ли в PRO версии получить координаты по адресу (обратное действие возможно, а данное в документации описано только для Hosting и Kit)

- делаю core/login, получаю в ответ сессию, но следующий ajax запрос (в данном случае получение адресов по координатам) возвращает error=1. Пробовал в параметры передать дополнительно ssid - это не меняет дело. В случае необходимости могу выложить JS код этого всего, но суть простая - два аякс-запроса, второй выполняется в коллбеке первого, то есть когда сессия уже открыта

4

Получение координат юнита через Remote API в Wialon Pro

Re: Получение координат юнита через Remote API в Wialon Pro

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

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

Development Department
Gurtam
5

Получение координат юнита через Remote API в Wialon Pro

Re: Получение координат юнита через Remote API в Wialon Pro

Для начала - небольшой враппер для обращения к SDK:

    function WialonApi(callback) {
        var self = this;
        self.session = undefined;
        this.serverUrl = 'http://server:8026/ajax.html?';
        this.request = function(method, params, callback) {
            var url = 'svc='+method+'&params={';
            jQuery.each(params, function(k, v) {
                url+= '"'+k+'":'+v+',';
            });
            url = url.slice(0, -1)+'}';
            if (self.session) {
                url = 'ssid='+self.session+'&' + url;
            }
            url = self.serverUrl + url;
            jQuery.post(url, {}, function(data) {
                if (callback) {
                    callback(data);
                }
            }, 'json');
        };
        self.request('core/login', {user:'"wialon"', password:'"*******"'}, function(data) {
            self.session = data.ssid;
            console.log('Wialon login', data);
            if (callback) {
                callback(data);
            }
        });
    }
    WialonApi.prototype = {
        getLocations: function(params, callback) {
            this.request('gis/get_locations', params, callback);
        },
        getAccountData: function(params, callback) {
            this.request('core/get_account_data', params, callback);
        }
    }

Далее вызов этого враппера на странице. Пробовал и получение адресов, и эту фичу, для проверки просто:

 var wialonApi = new WialonApi(function(){
      wialonApi.getAccountData({type:2}, function(data) {
            console.log('wialonApi.getAccountData', data);
      });    
 });

В итоге, в консоли видим:

Wialon login > Object {uid: 383, eid: 56, ssid: "9f2720e1baaf2d0a71cbcc1002001d0c", pi: 2, tm: 1383054658…}
WialonApi.getAccountData Object {error: 4}

Если во враппере убрать добавление ssid параметра в строку запроса - {error: 1}

Где я туплю?

6

Получение координат юнита через Remote API в Wialon Pro

Re: Получение координат юнита через Remote API в Wialon Pro

kest wrote:

Если во враппере убрать добавление ssid параметра в строку запроса - {error: 1}

Сессия должна указываться практически во всех запросах, исключения логин и все запросы из группы "другие запросы" (см. документацию).

К сожалению ничего сказать по присланному вами не могу, т.к. вы не прислали саомго главного, это параметры которые вы подаете в  getAccountData, т.к. ошибка 4 возвращается если их формат неверный. Например, есьб два похожих запроса core/get_account_data и account/get_account_data. возможно вы их перепутали и подаете не те параметры. Если все же вы имеете ввиду core/get_account_data, и вы ввели нужные параметры, то ошибка 4 может возвращаться если  у пользователя нет учетной записи.

Development Department
Gurtam
7

Получение координат юнита через Remote API в Wialon Pro

Re: Получение координат юнита через Remote API в Wialon Pro

Используется именно core/get_account_data. Если вам нужно было увидеть генерируемые URLы - вот они:

Request URL:http://server:8026/ajax.html?svc=core/login&params={%22user%22:%22wialon%22,%22password%22:%22*********%22}

svc:core/login
params:{"user":"wialon","password":"*********"}

Request URL:http://server:8026/ajax.html?ssid=69d57502d8da9cd9202e394bb08fd7e2&svc=core/get_account_data&params={%22type%22:2}

ssid:69d57502d8da9cd9202e394bb08fd7e2
svc:core/get_account_data
params:{"type":2}

При этом первое выполняется, а второе сразу после него - нет

8

Получение координат юнита через Remote API в Wialon Pro

Re: Получение координат юнита через Remote API в Wialon Pro

zuve wrote:

Если все же вы имеете ввиду core/get_account_data, и вы ввели нужные параметры, то ошибка 4 может возвращаться если  у пользователя нет учетной записи.

да, вы не перпутали запросы , значение  2 входит в диапазон допустимых

Development Department
Gurtam
9

Получение координат юнита через Remote API в Wialon Pro

Re: Получение координат юнита через Remote API в Wialon Pro

так в итоге что криво может быть из представленного?

10

Получение координат юнита через Remote API в Wialon Pro

(edited by zuve 30/10/2013 13:49:42)

Re: Получение координат юнита через Remote API в Wialon Pro

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

Development Department
Gurtam
11

Получение координат юнита через Remote API в Wialon Pro

Re: Получение координат юнита через Remote API в Wialon Pro

zuve wrote:

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

Подскажите в Wialon PRO 1401 реализована эта функция?