2015-04-30 7 views
0

Я сделал карту Google, показывающую маркер с моей текущей позицией, как я могу заставить этот маркер автоматически обновляться до новой позиции, например каждые 15 секунд с помощью Jquery?Auto update Google Map Marker

Мой код:

var x=document.getElementById("message"); 
function getLocation() 
    { 
    if (navigator.geolocation) 
    { 
    navigator.geolocation.getCurrentPosition(showPosition,showError); 
    } 
    else{x.innerHTML="Geolocation is not supported by this browser.";} 
    } 

function showPosition(position) 
    { 
    lat=position.coords.latitude; 
    lon=position.coords.longitude; 
    latlon=new google.maps.LatLng(lat, lon) 
    mapholder=document.getElementById('mapholder') 
    mapholder.style.height='100%'; 
    mapholder.style.width='100%'; 

    var myOptions={ 
    center:latlon,zoom:14, 
    mapTypeId:google.maps.MapTypeId.ROADMAP, 
    mapTypeControl:false, 
    navigationControlOptions:{style:google.maps.NavigationControlStyle.SMALL} 
    }; 
    var map=new google.maps.Map(document.getElementById("mapholder"),myOptions); 
    var marker=new google.maps.Marker({position:latlon,map:map,title:"You are here!"}); 
    } 

function showError(error) 
    { 
    switch(error.code) 
    { 
    case error.PERMISSION_DENIED: 
     x.innerHTML="User denied the request for Geolocation." 
     break; 
    case error.POSITION_UNAVAILABLE: 
     x.innerHTML="Location information is unavailable." 
     break; 
    case error.TIMEOUT: 
     x.innerHTML="The request to get user location timed out." 
     break; 
    case error.UNKNOWN_ERROR: 
     x.innerHTML="An unknown error occurred." 
     break; 
    } 
    } 

Основном то, что я пытаюсь йи, чтобы обновить маркер и переместить его в новое положение каждые 15 секунд или около того, и в то же время удалить старый маркер.

Спасибо за помощь!

ответ

0

Чтобы выполнить определенную функцию с заданным интервалом, вы можете использовать метод setInterval().

setInterval(function(){ 
    //.... 
}, 3000); 

Я обновил ваш образец http://jsfiddle.net/gNQRB/381/

Смотрите дополнительную информацию о setInterval метод здесь - http://www.w3schools.com/jsref/met_win_setinterval.asp

Смежные вопросы