![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 8.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Próbuję stworzyć mapkę na podstawie google maps API, chciałbym wyświetlać na niej markery, których pozycje są zapisane w bazie danych MySQL i aktualizowane co kilka sekund, potrafię pobrać dane z bazy i wyświetlić współrzędne ostatnio dodanego markera ale gdy do bazy zostanie dodany kolejny rekord z aktualnymi współrzędnymi to trzeba ręcznie wciskać odświerz stronę. Moje pytanie brzmi jak ustawić automatyczne odświeżanie pozycji markerów (nie odświeżać całej mapy). Próbowałem w ten sposób: Kod <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Test</title> <!--skrypty--> <script src='http://maps.google.com/maps?file=api&v=2&key=' type='text/javascript'></script> </head> <body onload='mapaStart()' onunload='GUnload()'> <script type='text/javascript'> <!-- function mapaStart() { if(GBrowserIsCompatible()) { var mapa = new GMap2(document.getElementById('mapka'),{mapTypes: [G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP]}); mapa.enableDoubleClickZoom(); // włączenie zoomu przy podwójnym kliknięciu mapa.addControl(new GLargeMapControl()); var typyMapy = mapa.getMapTypes(); typyMapy[0].getName= function() { return "Mapa";} typyMapy[1].getName = function() { return "Satelita";} typyMapy[2].getName = function() { return "Hybryda";} mapa.addControl(new GMapTypeControl()); mapa.addControl(new GOverviewMapControl()); mapa.addControl(new GScaleControl()); <?php $link = mysql_connect("localhost", "root", "Sql") or die("Could not connect: " . mysql_error()); mysql_selectdb("tab1",$link) or die ("Can\'t use dbmapserver : " . mysql_error()); $result = mysql_query("SELECT * FROM tab1 ORDER BY id DESC LIMIT 0,1",$link); if (!$result) { echo "no results "; } while($row = mysql_fetch_array($result)) { echo "var point = new GLatLng(".$row['lat'].",".$row['lon'].");\n"; echo "mapa.setCenter(point,12);\n"; echo "var marker = new GMarker(point,{title: 'cos'});\n"; echo "mapa.addOverlay(marker);\n"; } mysql_close($link); ?> odswiezMarker(); } } function odswiezMarker() { <?php $link = mysql_connect("localhost", "root", "Sql") or die("Could not connect: " . mysql_error()); mysql_selectdb("tab1",$link) or die ("Can\'t use dbmapserver : " . mysql_error()); $result = mysql_query("SELECT * FROM tab1 ORDER BY id DESC LIMIT 0,1",$link); if (!$result) { echo "no results "; } while($row = mysql_fetch_array($result)) { echo "var point = new GLatLng(".$row['lat'].",".$row['lon'].");\n"; echo "var marker = new GMarker(point,{title: 'cos'});\n"; echo "mapa.addOverlay(marker);\n"; } mysql_close($link); ?> setTimeout('odswiezMarker()',1000); } --> </script> <div id='mapka' style='width: 700px; height: 550px; border: 1px solid black; background: gray;'> </div> </body> </html> Niestety nie odświeża pozycji markera. Prosze o jakieś sugestie. Pozdrawiam Ten post edytował pmmisiek 10.03.2009, 16:57:01 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 50 Dołączył: 28.10.2006 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
AJAX
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 8.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Może jakiś przykład wykorzystania do tego celu AJAXa?
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.06.2025 - 23:47 |