代码只执行一次 - Phonegap&使用Javascript

时间:2013-05-12 18:31:32

标签: javascript cordova

我正在编写一款能够在跑步时跟踪您的位置的应用。 问题是我只能开始/停止跟踪一次。我必须杀死该应用以恢复功能。

$("#startRunning").live('click', function () 
{
    watch_id = navigator.geolocation.watchPosition( function (position) 
    {
        tracking_data.push(position);
        element.innerHTML = 'Aantal metingen: ' + aantalMeetingen;    
    },
    function (error) 
    {    
        console.log(error);  
    },
    {   
        enableHighAccuracy: true, maximumAge: 5000, timeout: 7000, 
    });

    track_id = loopNummer;
});

$("#stopRunning").live('click', function () 
{
    window.localStorage.setItem(track_id, JSON.stringify(tracking_data));
    alert(watch_id);

    //Reset the values and clearWatch
    navigator.geolocation.clearWatch(watch_id);
    aantalMeetingen = 0;
    watch_id = null;
    tracking_data = null;
    showResult();
});

我不知道如何解决这个问题,因为我的代码(应该)正常工作。

1 个答案:

答案 0 :(得分:2)

只是猜测,而不是

tracking_data = null;

尝试

tracking_data = [];

否则tracking_data.push(position);必然会导致空指针错误。

让我知道:)。