2013-01-11 8 views
5

Oto prawdziwe wyzwanie, z którego korzystam za pomocą interfejsu Google Maps API. Mam aplikację pełnoekranową, jest mapa Google, która wypełnia całe tło. Niektóre elementy interfejsu użytkownika tej aplikacji obejmują części map, więc w efekcie cała mapa nie zawsze jest widoczna.Google Maps: na nowo zdefiniuj punkt środkowy, dopasuj granice do określonego obszaru

Zamiast tego mamy "primary" widoczny obszar, a "częściowo" widoczny obszar, tak:

map example

Oto moje pytania:

Zwykle jeśli chcesz wyśrodkować coś w widoku, które wywołujesz, nazywasz map.setCenter(latLng) To umieszcza podaną latLng w dokładnym środku płótna mapy. Jednak w moim przypadku chciałbym umieścić dany latLng nie w ścisłym środku płótna, ale w środku w pełni widocznej części płótna.

I nie były w stanie znaleźć żadnej dokumentacji dotyczącej sposobu, aby ustawić punkt geograficzny do niczego innego niż ścisłym centrum płótna. Czy ktoś wie, czy to jest możliwe?

Podobnie, jeśli chcesz powiększyć mapę tak, aby pasowała do wielu punktów, możesz przekazać wszystkie te wartości do obiektu obwiedni, na każdym z nich wywołanie bounds.extend(latLng), a następnie map.fitBounds(bounds).

To jednak będzie pasować do mapy, dzięki czemu punkty będą wyświetlane na całym obszarze roboczym mapy. Czy można zamiast tego dopasować je do konkretnej części płótna?

Dzięki za wszelkie informacje tutaj.

Odpowiedz

4

Po utworzeniu mapy należy użyć metody panBy mapy, aby przesuwać mapę o dane piksele.

map.panBy(rightPadding/2,-topPadding/2); 

Demo: http://jsfiddle.net/doktormolle/JsBEx/

+0

Ok, jest to świetny pomysł dla centrowania punktów. Czy masz jakieś przemyślenia na temat tego, jak upewnić się, że wszystkie punkty w granicach mieszczą się w widocznym obszarze, a nie w obszarze całkowitym? – Andrew

+1

Po długich pracach doszedłem do wniosku, że w rzeczywistości nie można używać metod dopasowania ani żadnej innej metody w obszarze innym niż pełna mapa. Przesuwanie, jak pokazałeś utwory, i ogólnie, jeśli dopasujesz granice, panoramowanie, a następnie pomniejszone o jeden, rzeczy pokażą się tak bardzo, jak tego potrzebuję. Tak więc przyjmuję tę odpowiedź na tej podstawie. Dzięki! – Andrew

Powiązane problemy