getCurrentPosition不会更新位置

时间:2014-05-09 11:46:31

标签: javascript ios geolocation titanium-mobile

我正在开发一款不断需要用户当前位置的应用。

我正面临一个问题,即第一次使用设备获取用户当前位置的经度和经度并将其缓存,我每次都会返回相同的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);
    }
});

请有人建议解决方案吗?

1 个答案:

答案 0 :(得分:2)

由于您应用了距离过滤器,因此除非超过距离兑现位置的过滤距离,否则您将永远不会收到当前位置。一直获取当前位置的一种方法是删除此距离过滤器,或停止位置服务并再次启动它们,我认为这将为您提供最后的已知位置。