我正在编写一款能够在跑步时跟踪您的位置的应用。 问题是我只能开始/停止跟踪一次。我必须杀死该应用以恢复功能。
$("#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();
});
我不知道如何解决这个问题,因为我的代码(应该)正常工作。
答案 0 :(得分:2)
只是猜测,而不是
tracking_data = null;
尝试
tracking_data = [];
否则tracking_data.push(position);
必然会导致空指针错误。
让我知道:)。