Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Markery na mapie google, długi czas ładowania, jak przyspieszyć, Markery na mapie google, długi czas ładowania, jak przyspieszyć
Ardo
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 16.03.2008

Ostrzeżenie: (0%)
-----


Może ktos zerknie na mój kod ładujący markary na mape, za długo łądują mi się punkty.
może ktoś ma pomysł jak , zrobić by przyspieszyć ładowanie.
Ilość markerów (punktów) = 2000
Będę wdzięczny za radę jak i pomoc



  1. <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
  2.  
  3. <script type='text/javascript'>
  4. $(document).ready( mapaStart );
  5. $(document).ready( GUnloadApi );
  6.  
  7.  
  8. function mapaStart()
  9. {
  10.  
  11.  
  12.  
  13. document.getElementById("mapka").style.width = '840px';
  14. document.getElementById("mapka").style.height = '800px'
  15. var myLatlng = new google.maps.LatLng(51.7592485, 19.4559833 );
  16.  
  17. var myOptions = {
  18. zoom: 6,
  19. center: myLatlng,
  20. mapTypeId: google.maps.MapTypeId.ROADMAP
  21. }
  22. map = new google.maps.Map(document.getElementById("mapka"), myOptions);
  23.  
  24.  
  25. {/literal}
  26. var i = 0;
  27. {section name='i' loop=$g}
  28. {literal}
  29.  
  30.  
  31. var text = 'opis.............';
  32.  
  33.  
  34. var location = new google.maps.LatLng({/literal}{$g[i][0]}{literal}, {/literal}{$g[i][1]}{literal} );
  35. var marker = new google.maps.Marker({
  36. position: location,
  37. map: map
  38. });
  39.  
  40.  
  41.  
  42. var j = i + 1;
  43. attachSecretMessage(marker, i, text);
  44. i++;
  45.  
  46. {/literal}{/section}{literal}
  47.  
  48. }
  49.  
  50.  
  51. function attachSecretMessage(marker, number, infoTabs) {
  52.  
  53.  
  54. var infowindow = new google.maps.InfoWindow(
  55. { content: infoTabs,
  56. zIndex: number
  57. });
  58.  
  59. infowindow.open(map,marker);
  60. });
  61. }
  62.  
  63.  
  64. </script>
  65.  
Go to the top of the page
+Quote Post
Pawel_W
post
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


poczytaj o cluster marker (coś w ten deseń, powinieneś znaleźć), jest to skrypt który grupuje Ci markery i w miarę przybliżania je pokazuje - przez to nie występuje problem takiego "lagowania" mapy smile.gif
Go to the top of the page
+Quote Post
lukasz1985
post
Post #3





Grupa: Zarejestrowani
Postów: 205
Pomógł: 43
Dołączył: 5.03.2012

Ostrzeżenie: (0%)
-----


Moją radą jest aby całą zawartość tablicy markerów i ich pozycji wrzucić jako JSON do pola input hidden.
Następnie pobrać jego zawartość w skrypcie i przeparsować. Ostatecznie w pętli je wyświetlić i przypisać baloniki.

W chwili obecnej tworzy się (przy założeniu, że dla jednego markera jest potrzebne około 10linii kodu) - około 20000 linii kodu javascript.

Próbowałem w pętli for przez JS wrzucić na mapę 2500 markerów. Udało mi się i odczułem tylko minimalny spadek wydajności, prawie niezauważalny. Mam komputer dość stary - Core 2 duo (2 x 2,66) + 3gb ram + geforce 8600gt


Problem może być w tym, że do każdego markera jest przypisany balonik. Ale to też należy sprawdzić.

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 01:38