Witam,

Zaczynam zabawę z MapGo API, chciałbym odświeżać położenie markera co ok 5s.
Próbowałem to zrobić w poniższy sposób, jednak po stronie serwera skrypt php jest wykonany tylko raz przy załadowaniu strony.

  1. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  2. <link rel="Stylesheet" href="style.css" type="text/css">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <script src="http://api.mapgo.pl/api.php?type=kluczapi" type="text/javascript"></script>
  5.  
  6. <div id="container">
  7.  
  8. <script type="text/javascript">
  9. var intervalID;
  10. var mapobject=createMapgoObject();
  11.  
  12. <?php include "ods.php"?>
  13. mapobject.showToolbar();
  14.  
  15. //dodanie ikony
  16. //tworzymy tablicę w którą będziemy wstawiać kolejne obiekty do wyświetlenia na mapie
  17. var object_list=new Array();
  18. //tworzymy obiekt ikony
  19. var icon1=new MapgoIcon();
  20. //podajemy współrzędne obiektu
  21. <?php include "ikona.php"?>
  22. //dodajemy obiekt do listy
  23. object_list.push(icon1);
  24. //dodajemy listę obiektów do mapy, "sample_objects" - nazwa grupy obiektów dodawanych do mapy (warstwa obiektów)
  25. mapobject.addIconsToMap(object_list,"sample_objects");
  26.  
  27. intervalID = setInterval(updateIconPos, 5000);
  28.  
  29. function updateIconPos()
  30. {
  31.  
  32. //pobieramy wartości z pól formularza
  33.  
  34. <?php include "update.php"?>
  35. //aktualizujemy pozycję wybranej ikony (icon1) na mapie oraz przekazujemy współrzędne ekranowe do zmiennej newpos
  36. var newpos = mapobject.setIconPos(newlon,newlat,icon1);
  37.  
  38. //wyświetlamy współrzędne ekranowe ikony
  39. //alert('Współrzędne ekranowe ikony: \nX= '+newpos.x + '\nY= '+newpos.y);
  40. }
  41.  
  42.  
  43. </div>
  44. </body>
  45. </html>


efekt działania skryptu jest taki (w zależności jakie dane zostały dodane do ostatniego rekordu bazy):
var newlon = 16.524655; var newlat = 50.949640;

Problem mam taki że trzeba odświeżać całą stronę, żeby zaktualizować pozycje markera.

Domyślam się że trzeba tu użyć AJAX (nigdy nie korzystałem) jak wyglądałoby pobieranie tego pliku php w jakimś interwale czasowym?

Problem rozwiązany, użyłem $.ajax() z jquery.

Temat do zamknięcia
Pozdrawiam