Тема: JS API: Getting Geofences
hello developers, how i can get user geo zone options?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
hello developers, how i can get user geo zone options?
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
thanks your answers is very helpful
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" отсутвует, как ее вывести?
Метод 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]);
});
}
});
hello ,
you can use the following example
https://sdk.wialon.com/playground/demo/get_geofences