2013-11-13 4 views
2

Я пытаюсь обновить позицию маркера карты Google каждые 20 секунд, которая поступает из базы данных, но она не работает.Обновление позиции маркера на карте Google без загрузки страницы

Код:

for (i = 0; i < purple.length; i++) { 

    if (purple[i][1] == latitude && purple[i][2] == longitude) { 
     nogreen = 1; 
    } 

    marker = new google.maps.Marker({ 
      position : new google.maps.LatLng(purple[i][1], purple[i][2]), 
      map : map, 
      title : purple[i][0], 
      data : purple[i][0], 
      zoom : maxZoomService, 
      icon : 'img/purple.png', 
      shadow : 'img/purple.png' 
     }); 

    setInterval(function() { 
     position : new google.maps.LatLng(purple[i][1], purple[i][2]), 
     marker.setPosition(position); 
    }, 20000); 
}; 

Правильно ли это и как я могу это сделать?

+0

Где вы получаете обновленную позицию из базы данных? Вы уверены, что это действительно меняется? – geocodezip

+0

@geocodezip У меня есть код на 2 страницы, поэтому я просто поставлю часть кода Javascript здесь, который показывает точку. – Alex

ответ

10

Этот код здесь не действует Javascript:

setInterval(function() { 
     position: new google.maps.LatLng(purple[i][1], purple[i][2]), 
     marker.setPosition(position); 
    }, 20000); 

Вы хотите сделать:

setInterval(function() { 
     position = new google.maps.LatLng(purple[i][1], purple[i][2]); 
     marker.setPosition(position); 
    }, 20000); 
Смежные вопросы