我正在开发一款不断需要用户当前位置的应用。
我正面临一个问题,即第一次使用设备获取用户当前位置的经度和经度并将其缓存,我每次都会返回相同的lat,lng。有没有办法从设备中删除缓存的位置?任何帮助都将受到高度赞赏。
我的一些代码:
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);
}
});
请有人建议解决方案吗?
答案 0 :(得分:2)
由于您应用了距离过滤器,因此除非超过距离兑现位置的过滤距离,否则您将永远不会收到当前位置。一直获取当前位置的一种方法是删除此距离过滤器,或停止位置服务并再次启动它们,我认为这将为您提供最后的已知位置。