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.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <link rel="Stylesheet" href="style.css" type="text/css"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="http://api.mapgo.pl/api.php?type=kluczapi" type="text/javascript"></script>
<script type="text/javascript"> var intervalID;
var mapobject=createMapgoObject();
<?php include "ods.php"?>
mapobject.showToolbar();
//dodanie ikony
//tworzymy tablicę w którą będziemy wstawiać kolejne obiekty do wyświetlenia na mapie
var object_list=new Array();
//tworzymy obiekt ikony
var icon1=new MapgoIcon();
//podajemy współrzędne obiektu
<?php include "ikona.php"?>
//dodajemy obiekt do listy
object_list.push(icon1);
//dodajemy listę obiektów do mapy, "sample_objects" - nazwa grupy obiektów dodawanych do mapy (warstwa obiektów)
mapobject.addIconsToMap(object_list,"sample_objects");
intervalID = setInterval(updateIconPos, 5000);
function updateIconPos()
{
//pobieramy wartości z pól formularza
<?php include "update.php"?>
//aktualizujemy pozycję wybranej ikony (icon1) na mapie oraz przekazujemy współrzędne ekranowe do zmiennej newpos
var newpos = mapobject.setIconPos(newlon,newlat,icon1);
//wyświetlamy współrzędne ekranowe ikony
//alert('Współrzędne ekranowe ikony: \nX= '+newpos.x + '\nY= '+newpos.y);
}
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