0

我正在编写一个应用程序,可以在运行时跟踪您的位置。问题是我只能开始/停止跟踪一次。我必须杀死该应用程序才能恢复功能。

$("#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();
});

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

4

1 回答 1

2

只是一个猜测,而不是

tracking_data = null;

尝试

tracking_data = [];

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

让我知道 :)

于 2013-05-12T18:37:33.573 回答