Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Google Maps api v3] Odświeżanie markerów
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
oskarzg
Witajcie!

Głowię się już nad tym problemem od dłuższego czasu, niestety - w dalszym ciągu nic się nie ruszyło. A mianowicie. W pliku tekstowym zapisują mi się pozycje urządzeń GPS umieszczonych w pojazdach w formie "nr pojazdu;pozycjaX;pozycjaY" z interwałem nadpisu pliku co 2 sekundy. Wrzucam sobie te pozycje na mapę Google'a jako markery. Chciałbym móc odświeżać sobie te markery, bez przeładowywania całej mapy aby uniknąć po pierwsze bezcelowego zwiększania ruchu w sieci, po drugie obiciążania serwerów Google'a no i w reszcie po trzecie - przybliżając sobie mapę po odświeżeniu całej strony mapa przekskauje do pozycji domyślnej.

  1. <!DOCTYPE html>
  2. <?php
  3. include ('./pobierz.php');
  4. //header('refresh: 10;');
  5. ?>
  6. <html>
  7. <head>
  8. <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  9. <script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
  10. <script type="text/javascript">
  11. function initialize() {
  12. var map = new google.maps.Map(document.getElementById('map'), {
  13. zoom: 14,
  14. center: new google.maps.LatLng(51.937704,15.511665),
  15. mapTypeId: google.maps.MapTypeId.ROADMAP
  16. });
  17. var infowindow = new google.maps.InfoWindow({minWidth: 400});
  18. var marker;
  19. var image = 'bus.gif';
  20. var location = {};
  21. var markers = document.getElementsByTagName("marker");
  22. for (i = 0; i < markers.length; i++) {
  23. location = {
  24. name : markers[i].getAttribute("opis"),
  25. pointlat : parseFloat(markers[i].getAttribute("lat")),
  26. pointlng : parseFloat(markers[i].getAttribute("lng")),
  27. url : markers[i].getAttribute("url"),
  28. ikona : markers[i].getAttribute("ico"),
  29. adres : markers[i].getAttribute("lin")
  30. };
  31. console.log(location);
  32. marker = new google.maps.Marker({
  33. position: new google.maps.LatLng(location.pointlat, location.pointlng),
  34. map: map,
  35. icon: location.ikona,
  36. url: location.adres
  37. });
  38.  
  39. google.maps.event.addListener(marker, 'click', (function(marker,location) {
  40. return function() {
  41. top.frames['szczegoly'].location.href = marker.url;
  42.  
  43. };
  44. })(marker, location));
  45. }
  46. }
  47. google.maps.event.addDomListener(window, 'load', initialize);
  48. </script>
  49. </head>
  50. <body>
  51. <markers>
  52. <?php
  53. for($y=0;$y<=3;$y++)
  54. {
  55. $ikona='./ikona.gif';
  56. echo '
  57. <marker lat="'.$data['lat'][$y].'" lng="'.$data['lng'][$y].'" url="http://google.pl" ico="'.$ikona.'" lin="szczegoly.php?woz='.$data['pojazd'][$y].'"></marker>
  58.  
  59. ';
  60. }
  61. ?>
  62. </markers>
  63. <div id="map" style="width: 1400px; height: 800px;"></div>
  64. </body>
  65. </html>


Jeśli ktoś z Was byłby w stanie mi pomóc byłbym bardzo zobowiązany. Jest to naprawdę dla mnie bardzo pilny temat. Serdeczne dzięki! Pozdrawiam.
Turson
Głowisz się na tym od dawna, a nie widzę nawet podjętych prób z ajaxem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.