2017-02-08 2 views
0

En essayant d'envoyer ma position au serveur avec Phonegap Build. Pour une raison quelconque, cela ne semble pas fonctionner. Quelle pourrait être la raison de ceci et comment le résoudre?Construction de Phonegap ne pas envoyer de géolocalisation

Voici mon js

// Wait for PhoneGap to load 
// 
document.addEventListener("deviceready", onDeviceReady, false); 

var watchID = null; 

// PhoneGap is ready 
// 
function onDeviceReady() { 
    // Update every 3 seconds 
    var options = {maximumAge:10000, enableHighAccuracy:true}; 
    watchID = navigator.geolocation.watchPosition(onSuccess, onError, options); 
} 

// onSuccess Geolocation 
// 

var coords = {lat: "", lon: ""}; 
function onSuccess(position) { 
    coords.lat = position.coords.latitude; 
    coords.lon = position.coords.longitude; 
} 

// onError Callback receives a PositionError object 
// 
function onError(error) { 
    alert('code: ' + error.code + '\n' + 
      'message: ' + error.message + '\n'); 
} 


setInterval ("Updateposition()", 15000); 
function Updateposition(){ 
// here you can reuse the object to send to a server 
console.log("lat: " + coords.lat); 
console.log("lon: " + coords.lon); 
var auto = localStorage.getItem("number"); 

jQuery.ajax({ 
     type: "POST", 
     url: serviceURL+"location.php", 
     data: 'x='+ coords.lon+'&y='+coords.lat+'&auto='+auto, 
     cache: false 
    }); 

} 

et config.xml je

`<gap:plugin name="cordova-plugin-geolocation" source="npm" />` 

Répondre

0

Je pense que navigator.geolocation.watchPosition (onSuccess, onError, options); ne devrait pas être dans votre fonction onDeviceReady. Le watchPosition sera appelé à chaque fois que la position change.

Vous essayez d'obtenir l'emplacement onDeviceReady puis de l'envoyer au serveur et d'utiliser navigator.geolocation.watchPosition (onSuccess, onError, options); appeler votre serveur chaque fois que la position change