2014-05-09 96 views
1

我正在研究一個需要用戶當前位置的應用程序。getCurrentPosition不更新位置

我面臨的一個問題,即第一次設備獲取用戶當前位置的經緯度並緩存它,並且每次都返回相同的經緯度。有什麼辦法從設備中刪除緩存的位置?任何幫助將不勝感激。

我的一些代碼:

Titanium.Geolocation.purpose = "Recieve User Location"; 
Ti.Geolocation.accuracy = Ti.Geolocation.ACCURACY_BEST; 
Ti.Geolocation.distanceFilter = 5; 
Ti.Geolocation.activityType = Ti.Geolocation.ACTIVITYTYPE_FITNESS; 

Titanium.Geolocation.getCurrentPosition(function(e) 
{ 
    if (!e.success || e.error) 
    { 
     alert('error ' + JSON.stringify(e.error)); 
     return; 
    } 
    else 
    { 
     var longitudeFore; 
     var latitudeFore; 

     longitudeFore = e.coords.longitude; 
     latitudeFore = e.coords.latitude; 

     latitudeFore = parseFloat(latitudeFore); 
     longitudeFore = parseFloat(longitudeFore); 

     latitudeFore = latitudeFore.toFixed(6); 
     longitudeFore = longitudeFore.toFixed(6); 

     alert(latitudeFore + '\n' + longitudeFore); 
    } 
}); 

請有人可以提出一個解決辦法?

回答

2

由於您應用了距離過濾器,因此您將永遠不會收到當前位置,除非它超過了從兌現位置過濾的距離。獲取當前位置的一種方法是去除距離過濾器,或者停止位置服務並重新啓動它們,我認爲這會爲您提供最後一個已知位置。