1

JS API: Getting Geofences

(23/10/2012 11:54:47 отредактировано unitedsecurity)

Тема: JS API: Getting Geofences

hello developers, smile how i can get user geo zone options?

Великий и ужасный Гиоргий Каладзе
2

JS API: Getting Geofences

Re: JS API: Getting Geofences

wialon.core.Session.getInstance().loadLibrary("resourceZones");           
            var spec = [{type: "type",
                    data: "avl_resource",                     
                    flags: wialon.item.Item.dataFlag.base | wialon.item.Resource.dataFlag.zones,
                    mode: 0}];                       
            wialon.core.Session.getInstance().updateDataFlags(spec,function (code) {
                if (code != 0) {                           
                    alert(wialon.core.Errors.getErrorText(code));
                    return;
                }                
                var resources =  wialon.core.Session.getInstance().getItems("avl_resource"); 
                if(resources && resources[0]) {
                    var zones = resources[0].getZones();
                    for( var i in zones) {
                        console.log(zones[i]);
                    }
                }
            });

http://docs.gurtam.com/en/hosting/sdk/w … pdate_zone
http://docs.gurtam.com/en/hosting/sdk/w … _zone_data

Development Department
Gurtam
3

JS API: Getting Geofences

Re: JS API: Getting Geofences

thanks your answers is very helpful smile

Великий и ужасный Гиоргий Каладзе
4

JS API: Getting Geofences

Re: JS API: Getting Geofences

http://docs.gurtam.com/en/hosting/sdk/w … _zone_data

здесь есть параметр "w" в котором должно приходить значение радиуса в метрах, но в JS API полученных этим кодом:
wialon.core.Session.getInstance().loadLibrary("resourceZones");           
            var spec = [{type: "type",
                    data: "avl_resource",                     
                    flags: wialon.item.Item.dataFlag.base | wialon.item.Resource.dataFlag.zones,
                    mode: 0}];                       
            wialon.core.Session.getInstance().updateDataFlags(spec,function (code) {
                if (code != 0) {                           
                    alert(wialon.core.Errors.getErrorText(code));
                    return;
                }               
                var resources =  wialon.core.Session.getInstance().getItems("avl_resource"); 
                if(resources && resources[0]) {
                    var zones = resources[0].getZones();
                    for( var i in zones) {
                        console.log(zones[i]);
                    }
                }
            });

среи параметров нет никакого "w"... В консоли приходит только это:

Object
b: Object
d: ""
e: 31470
f: 0
id: 1
n: "Геозона"
t: 3
__proto__: Object

Как видно "w" отсутвует, как ее вывести?

Великий и ужасный Гиоргий Каладзе
5

JS API: Getting Geofences

Re: JS API: Getting Geofences

Метод getZones возвращает объекты с неполным набором свойств, для того чтобы получить объект со всеми свойствами вам нужно использовать getZonesData(arrayOfZonesIds, callback)

wialon.core.Session.getInstance().loadLibrary("resourceZones");           
            var spec = [{type: "type",
                    data: "avl_resource",                     
                    flags: wialon.item.Item.dataFlag.base | wialon.item.Resource.dataFlag.zones,
                    mode: 0}];                       
            wialon.core.Session.getInstance().updateDataFlags(spec,function (code) {
                if (code != 0) {                           
                    alert(wialon.core.Errors.getErrorText(code));
                    return;
                }                
                var resources =  wialon.core.Session.getInstance().getItems("avl_resource"); 
                if(resources && resources[0]) {                   
                    var zones = [];                   
                    for( var i in resources[0].getZones()) {
                        zones.push(resources[0].getZones()[i].id);                       
                    }
                    resources[0].getZonesData(zones, function(code, col) {
                        if (code != 0) {                           
                            alert(wialon.core.Errors.getErrorText(code));
                            return;
                         }
                        for(var i=0; i<col.length; i++)
                            console.log(col[i]);                       
                    });
                }
            });

Development Department
Gurtam
6

JS API: Getting Geofences

Re: JS API: Getting Geofences

hello ,
you can use the following example
https://sdk.wialon.com/playground/demo/get_geofences