Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] dopasowanie google mapy
Forum PHP.pl > Forum > Przedszkole
szczemp
od razu mówię, że java script i google map api są dla mnie bardzo obce
w sieci znalazłem trochę kodu i jakoś z biedą go dopasowałem do swoich potrzeb
ale potrzeby się rozszerzyły
php pobiera mi z bazy punkty i generuje tako kod
  1. <script type = "text/javascript">
  2.  
  3. var mapa;
  4. var dymek = new google.maps.InfoWindow();
  5.  
  6. function dodajMarker(lat,lng,txt) {
  7. var opcjeMarkera = {
  8. position: new google.maps.LatLng(lat,lng),
  9. map: mapa
  10. }
  11. var marker = new google.maps.Marker(opcjeMarkera);
  12. marker.txt=txt;
  13.  
  14. google.maps.event.addListener(marker,"click",function() {
  15. dymek.setContent(marker.txt);
  16. dymek.open(mapa,marker);
  17. });
  18. return marker;
  19. }
  20.  
  21. function mapaStart() {
  22. var wspolrzedne = new google.maps.LatLng(11.19018, 11.18518);
  23. var opcjeMapy = {
  24. zoom: 14,
  25. center: wspolrzedne,
  26. mapTypeId: google.maps.MapTypeId.ROADMAP
  27. };
  28.  
  29. mapa = new google.maps.Map(document.getElementById("mapka"), opcjeMapy);
  30. var marker0 = dodajMarker(11.18518, 11.18518,'ogólne1<hr/><a href = "zadanie.php?id=8">Zobacz</a>');
  31. var marker1 = dodajMarker(-11.18518,-11.18518,'ogólne2<hr/><a href = "zadanie.php?id=9">Zobacz</a>');
  32. google.maps.event.trigger(marker,'click');
  33.  
  34. }

kod odpowiada za wyświetlenie mapy z pobranymi wcześniej punktami
kod pierwotnie miał pokazywać jeden punkt i centrować na niego mapę
jak widać zachciało mi się wyświetlać kilka punktów
a mapa centruje się na pierwszy pobrany punkt
jak go zmusić do tego aby pole widzenia dopasowało się tak żeby było widać wszystkie punkty?
doczytałem, że do tego są odpowiednie narzędzia
LatLngBounds i fitBounds
coś tam z tym próbowałem wykombinować ale mi się nie udało
może mi ktoś powiedzieć gdzie co dopisać abym miał to czego chcę?
z góry dzięki
thek
Ogólnie interesuje Cię coś takiego jak obiekt Bounds. Pomiędzy v2 i v3 są różnice więc zależnie co masz, przejrzyj przykłady w dokumentacji google tyczące tego, bo są dość proste i nie powinny Ci sprawić problemu. Ogólnie zasada działa tak, że bierzesz tworzysz zakres i wrzucasz do niego punkty oraz aktualizujesz mapę zgodnie z tym zakresem. Przykłady sa naprawdę proste więc myślę, że sobie poradzisz.
szczemp
No niby nie było trudne ale przykłady były bardzo ogólne i zegranie tego tak jak ja chciałem zajęło trochę czasu:))
teraz pojawia się kolejny mały problem
dobrze jest jeśli punktów jest kilka
ale jeśli trzeba wyświetlić jeden to zoom dopasowuje się na max i trzeba ręczenie oddalić

właśnie przypomniałem sobie, że przez php sprawdzam czy mam wyświetlić jeden czy wiele punktów
i rozwiązanie jest proste
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.