2010-10-21 10 views
0

J'essaie d'obtenir l'emplacement GPS dans une application de widget sur une mûre, mais l'API retourne toujours une latitude et une longitude de 0,0.Application BlackBerry Widget - L'emplacement GPS est toujours 0,0

Simulator: Storm 2 (9550)/gras (9700) et OS: 5.0/5.0

IDE: Eclipse

le code de la page html comme ci-dessous:

var modeCellsite = 0; 
var modeAssisted = 1; 
var modeAutonomous = 2; 

function locationChanged() 
{ 

    alert("Lat " + blackberry.location.latitude + 
      " Lon " + blackberry.location.longitude + 
      " Time " + blackberry.location.timestamp); 
    return true; 
} 

if (window.blackberry && blackberry.location.GPSSupported) 
{ 
    var isUpdated = false; 
    var theCount = 0; 
    alert("Location tracking is supported"); 
    blackberry.location.onLocationUpdate("locationChanged()"); 
    blackberry.location.setAidMode(modeAutonomous); 
    while (theCount++ < 10 && !isUpdated) 
     isUpdated = blackberry.location.refreshLocation(); 
} 
else 
{ 
    document.write("Location tracking is not supported"); 
} 
+0

J'ai le même problème, avec js légèrement différentes mais spritually Simial. – Nilloc

Répondre

0

Assurez-vous activé GPS dans la carte SIM avant d'exécuter votre widget.

For Example in the simulator goto: 
    Simulate -> GPS Location... 
    Under Route Click "add" 
    Choice Random Route Generator 
     Number of Legs 1000 
     Travel Time 600 
     click OK 
    Click Play arrow 
+0

Cela ne change rien pour moi ... Je pense que la définition d'un emplacement devrait fonctionner aussi bien que l'envoyer sur un énorme chemin. – Nilloc

+0

@Nilloc Je soulignais juste que vous devriez vous assurer d'activer le GPS de la carte SIM sinon vous obtiendrez 0,0 (l'emplacement par défaut). La raison de l'utilisation d'un «énorme chemin» est que vos utilisateurs ne resteront jamais immobiles, donc vous devriez tester un chemin et non un seul endroit. Je vais dire que dans Java il faut plusieurs secondes pour obtenir un emplacement mis à jour, donc je ne pense pas qu'appeler refreshlocation() dans une boucle serrée va faire beaucoup. Je crois que les exemples que j'ai vus montrent qu'il est appelé une fois de plus à l'intérieur du gestionnaire locationChanged(). – eSniff