Maksymalny dostępny zoom
Google Maps zapewnia zdjęcia satelitarne, które nie pokrywają w 100% całego świata. Są takie miejsca, w których możliwe do rozróżnienia są ulice i budynki (większość dużych miast w Polsce), lecz są również i takie, gdzie szczegółowość jest znacznie mniejsza a poziom przybliżenia niezbyt wysoki (np. okolice Kalisza). Różne poziomy maksymalnych zbliżeń powodują, że czasem w wyniku automatycznego przenoszenia użytkownika w wybrane miejsce mapy, korzystający z witryny zobaczy komunikat o braku zdjęć satelitarnych w danym obszarze przy danym poziomie zbliżenia.
Jedną z nowszych funkcjonalności API jest możliwość skonstruowania zapytania odnośnie największego, możliwego stopnia przybliżenia na danym obszarze. Ta funkcja dostępna jest dla API w wersji 2.x.
Zapytanie jest przesyłane asynchronicznie, a wykonuje je się następująco:
mapa.getCurrentMapType().getMaxZoomAtLatLng(latlng, function(dane)
{
mapa.setZoom(dane['zoom']);
});
Po ustaleniu poziomu zoom, wykonana zostanie funkcja z argumentem w postaci tablicy z wynikami. Poza interesującym nas poziomem zoom nie zawiera ona żadnych użytecznych informacji. Zoom jest wyrażony w postaci liczby całkowitej z przedziału 0-19, mówiącej o tym, na jaki poziom można się przybliżyć bez obawy o brak zdjęć satelitarnych.
Jak w praktyce wykorzystać tę opcję? Oto przykład:
GEvent.addListener(mapa,'click',function(o,p)
{
if(!o && p)
{
mapa.getCurrentMapType().getMaxZoomAtLatLng(p, function(dane)
{
mapa.setZoom(dane['zoom']);
});
mapa.setCenter(p);
}
});
Dzięki wstawieniu takiego kodu, po kliknięciu na mapę API wyśrodkuje ją w klikniętym punkcie, a następnie przybliży do maksymalnego, dostępnego poziomu przybliżenia. W przykładzie można łatwo sprawdzić działanie tej funkcji, poprzez kliknięcie np. na Warszawę, dowolną lokację poza dużym miastem, oraz na Morze Bałtyckie.






