-1

Мне нужно создать триггер геозонности после создания, если пользователь покинул область, которую я хочу вызвать 1 API, после этого мне нужно создать еще один триггер с текущей (новой) информацией о местоположении и так далее наРабочее освещение Geo fencing Динамическое обновление местоположений триггеров

До сих пор я пробовал Функция getFirstPositionAndTrack() { alert ('Нажмите OK, чтобы перейти на исходную позицию');

// use GPS to get the user's location 
var geoPolicy = WL.Device.Geo.Profiles.LiveTracking(); 
geoPolicy.timeout = 60000; // set timeout to 1 minute 
geoPolicy.maximumAge = 10000; // allow to use a position that is 10 seconds old 

// note: to see at high-accuracy, change RoughTracking above to LiveTracking 

// get the user's current position 
WL.Device.Geo.acquirePosition(
     function(pos) { 
      // when we receive the position, we display it and start on-going acquisition 
      displayPosition(pos); 


      var triggers = { 
       Geo: { 
        posChange: { 
         type: "PositionChange", 
         callback: function(deviceContext) { 
           displayPosition(deviceContext.Geo); 
          } 
        }, 

        leftArea: { 
         type: "Exit", 
         circle: { 
          longitude: pos.coords.longitude, 
          latitude: pos.coords.latitude, 
          radius: 200 
         }, 
         callback: function() { 
          alert('Left the area'); 
          **/* here i will call one api , And i need to create another trigger dynamically with updated position info */** 
         } 
        }, 

        dwellArea: { // alert when we have stayed in the vicinity for 3 seconds 
         type: "DwellInside", 
         circle: { 
          longitude: pos.coords.longitude, 
          latitude: pos.coords.latitude, 
          radius: 50 
         }, 
         dwellingTime: 3000, 
         callback: function() { 
          alert('Still in the vicinity'); 

         } 
        } 
       } 
      }; 

      WL.Device.startAcquisition({ Geo: geoPolicy }, triggers, { Geo: alertOnGeoAcquisitionErr }); 
     }, 
     function(geoErr) { 
      alertOnGeoAcquisitionErr(geoErr); 
      // try again: 
      getFirstPositionAndTrack(); 
     }, 
     geoPolicy 
    ); 

}

ответ

0

Я предполагаю, что вы хотите изменить триггеры, которые у вас есть. Вы можете либо создать новый объект триггеров, либо обновить существующий. Обратите внимание, что ваш обратный вызов триггера может принимать current device context в качестве параметра, который затем дает вам доступ к текущей позиции. Затем еще раз вызовите WL.Device.startAcquisition (...), на этот раз передав новый/обновленный объект триггеров.