Save latitude and longitude for a certain time

0

I have this code where I save data in firebase

      let options = {
        frequency: 3000,
        enableHighAccuracy: true
    };

    let markes = [];
      this.watch = this.geolocation.watchPosition(options).filter((p: any) => p.code === undefined)
      .subscribe((position: Geoposition) => {


             markes.push({
               latitud:position.coords.latitude,
               longitud:position.coords.longitude
             });
             this.actuario.set({markes}, { merge: true })
                     .then(function() {})
                     .catch(function(error) {
                     console.log("Error al subir datos! " + error);
               });
      });

The idea is to save the data every 5 minutes, is there any way to impliment this idea? I've tried with settimeout, setInterval but it does not work for me

    
asked by Eze 27.07.2018 в 02:42
source

1 answer

0

To use SetInterval, you must save everything within a function. Also if you are using jQuery, it is a good practice to do it within document ready.

$(document).ready(function() {

    function GuardarDatos(){
     let options = {
            frequency: 3000,
            enableHighAccuracy: true
        };

        let markes = [];
          this.watch = this.geolocation.watchPosition(options).filter((p: any) => p.code === undefined)
          .subscribe((position: Geoposition) => {


                 markes.push({
                   latitud:position.coords.latitude,
                   longitud:position.coords.longitude
                 });
                 this.actuario.set({markes}, { merge: true })
                         .then(function() {})
                         .catch(function(error) {
                         console.log("Error al subir datos! " + error);
                   });
          });

    }

    setInterval(GuardarDatos(), 300000);

});
    
answered by 27.07.2018 / 02:50
source