Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> googlemaps v3 i centrowanie na polyline
expert
post
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 4
Dołączył: 29.10.2008

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


Witam,

mam kod, który dynamicznie mi wstawia linie na mapę. Każda linia ma swoją nazwę. Mam możliwość za pomocą checkboxów pokazywania lini lub ich chowania. nie bardzo jednak wiem, jak zrobić, aby po wybraniu kilku lini mapa powiększała sie tak, aby widać było tylko te wybrane linie. Taki automatyczny zoom.

Pozdrawiam ciepło (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jeden link wart tysiąc słów (IMG:style_emoticons/default/wink.gif) http://stackoverflow.com/questions/1556921...unds-and-center
Go to the top of the page
+Quote Post
expert
post
Post #3





Grupa: Zarejestrowani
Postów: 211
Pomógł: 4
Dołączył: 29.10.2008

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


Coś nie bardzo chyba łapię...
Kod
var myLatLng = new google.maps.LatLng(moja_linia);
var bounds = new google.maps.LatLngBounds();
bounds.extend(myLatLng);
mapa.fitBounds(bounds);

Nie działa... Poproszę o jakąś podpowiedź.

Ten post edytował expert 19.01.2012, 10:58:43
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Eeeee... Od kiedy polilinia ma jeden punkt? (IMG:style_emoticons/default/wink.gif)

Wiesz jak ten skrypt działa? Bierzesz punkt( myLatLng ) i tworzysz obiekt zakresu (bounds). Teraz rozszerzasz zakres tak by objął ów punkt (extend), jeśli jest on poza nim. Teraz mapę tak zoomujemy, aby pojawił się największy możliwy poziom zoom, który obejmuje wskazany zakres.

Co więc robisz źle? Zobacz co wrzucasz do myLatLng (IMG:style_emoticons/default/wink.gif) Całą polilinię? A nie powinneś tylko punktów najbardziej skrajnych dla wszystkich elementów polilinii, czyli o największych i najmniejszych wartościach lat i lng? (IMG:style_emoticons/default/smile.gif) Wystarczy, że podasz tylko te punkty. Te, które posiadają największe i najmniejsze latitude oraz longitude. To będzie zawsze od 2 do 4 punktów (włącznie). I tyle je wrzucasz do bounds.extend(). To jest cały trick. Ty wrzucasz cały obiekt polilinii i uwazasz, że wspomniana metoda ma poznać "magicznie" wszystkie wierzchołki polilinii i je sobie do zakresu sama wprowadzi. To identyczna sytuacja gdybym Ci dał mapę pokreśloną linią łamaną i "panel dodawania punktów" do zakresu ograniczony do wpisywania jednego punktu za każdym razem. Ty próbujesz od razu walnąć tam cały zestaw punktów. Tak się nie da. Albo przelecisz i dodasz wszystkie wierzchołki "zygzaka" w "panelu", albo będziesz sprytniejszy i znajdziesz te najbardziej "wystające" w każdą stronę i tylko je dodasz.

Za mało myślisz przy dokumentacji, która jest jasna jak cep i nawet w przykładzie to widać. Jeśli chcesz iluzję że coś działa jak chcesz - używaj Windowsa. Jeśli chcesz to zrobić porządnie zobacz dokładnie dokumentację i przykłady zanim zaczniesz robić ekwilibrystykę programistyczną by tego Windowsa też uzyskać (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
expert
post
Post #5





Grupa: Zarejestrowani
Postów: 211
Pomógł: 4
Dołączył: 29.10.2008

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


Dzięki wielkie za wytłumaczenie co i jak. Przynajmniej rozumny człowiek z Ciebie, bo nie dałeś gotowca a wytłumaczyłeś w czym problem.

Poszukałem dalej w necie i znalazłem taki przykład: http://stackoverflow.com/questions/3245564...ting-zoom-level Po wczytaniu się w drugi przykładowy kod doszedłem do wniosku, że to chyba to czego szukam (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
thek
post
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Bo to jest to co opisałem. W pętli walenie wszystkich punktów jakie są z użyciem extends i na koniec tylko jedno fitBounds i finito.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.08.2025 - 12:05