Dzięki pakietowi Maps SDK na iOS możesz zmienić punkt widzenia użytkownika na mapie, zmieniając kamerę mapy.
Dzięki pakietowi Maps SDK na iOS użytkownicy mogą przechylać i obracać mapy, aby dostosować ich orientację do kontekstu. Przy dowolnym poziomie powiększenia użytkownicy mogą przesuwać mapę lub zmieniać jej perspektywę z bardzo małym opóźnieniem.
Zmiany w kamerze nie wpływają na dodane przez Ciebie znaczniki, linie wielokątów ani inne elementy graficzne, ale warto je dostosować do nowego widoku.
Widok mapy
Pakiet SDK Map na iOS używa projekcji Mercatora, aby odwzorować powierzchnię Ziemi (kulę) na ekranie urządzenia (płaskiej płaszczyźnie).
Pozycja kamery
Widok mapy jest modelowany jako kamera skierowana w dół na płaską powierzchnię. Pozycja kamery (a zatem renderowanie mapy) jest określana przez te właściwości: cel (szerokość geograficzna/długość geograficzna), kierunek, pochylenie i powiększenie.
Docelowy (lokalizacja)
Cel kamery to lokalizacja środka mapy określona przez współrzędne geograficzne.
Szerokość geograficzna może się mieścić w zakresie od -85 do 85 stopni. Wartości powyżej lub poniżej tego zakresu zostaną przycięte do najbliższej wartości w tym zakresie. Na przykład podanie szerokości geograficznej 100 spowoduje ustawienie wartości 85. Długość geograficzna może przyjmować wartości od -180 do 180 stopni włącznie. Wartości powyżej lub poniżej tego zakresu zostaną zaokrąglone tak, aby mieściły się w zakresie (-180, 180). Na przykład 480, 840 i 1200 zostaną zaokrąglone do 120 stopni.Kierunek (orientacja)
Kierunek kamery określa kierunek kompasu mierzony w stopniach od prawdziwego północy, odpowiadający górnej krawędzi mapy. Jeśli narysujesz linię pionową od środka mapy do jej górnej krawędzi, kierunek będzie odpowiadać kierunkowi kamery (mierzonemu w stopniach) względem prawdziwego północy.
Kierunek 0 oznacza, że górna część mapy wskazuje prawdziwy kierunek północny. Wartość kierunku 90 oznacza, że górna część mapy wskazuje na wschód (90 stopni na kompasie). Wartość 180 oznacza, że górna część mapy wskazuje na południe.
Interfejs Maps API umożliwia zmianę kierunku mapy. Na przykład osoba jadąca samochodem często obraca mapę drogową, aby dopasować ją do kierunku jazdy, a piechurzy korzystający z mapy i kompasu zwykle orientują mapę tak, aby linia pionowa wskazywała kierunek północny.
Przechylenie (kąt widzenia)
Pochylenie określa położenie kamery na łuku bezpośrednio nad środkiem mapy, mierzone w stopniach od nadir (kierunku wskazującego bezpośrednio pod kamerę). Wartość 0 odpowiada kamerze skierowanej w dół. Wartości większe niż 0 odpowiadają kamerze skierowanej w kierunku horyzontu o określoną liczbę stopni. Gdy zmienisz kąt widzenia, mapa będzie wyglądać w perspektywie, a elementy znajdujące się daleko będą wydawać się mniejsze, a te znajdujące się blisko – większe. Poniżej znajdziesz ilustracje obrazujące ten proces.
Na obrazach poniżej kąt widzenia wynosi 0 stopni. Pierwsze zdjęcie przedstawia schematyczną wersję tego procesu: pozycja 1 to pozycja kamery, a pozycja 2 to bieżąca pozycja na mapie. Poniżej wyświetla się mapa.
Na obrazach poniżej kąt widzenia wynosi 45 stopni. Zwróć uwagę, że kamera przesuwa się o połowę łuku między pozycją na wprost nad głową (0 stopni) a pozycją na wysokości ziemi (90 stopni) do pozycji 3. Kamera nadal wskazuje środek mapy, ale obszar reprezentowany przez linię w pozycji 4 jest teraz widoczny.
Na tym zrzucie ekranu mapa jest nadal wyśrodkowana w tym samym miejscu co na oryginalnej mapie, ale u góry pojawiło się więcej funkcji. Gdy zwiększysz kąt ponad 45 stopni, elementy między kamerą a pozycją na mapie będą się wydawać proporcjonalnie większe, a elementy poza pozycją na mapie będą wydawać się proporcjonalnie mniejsze, co spowoduje efekt trójwymiarowości.
Zoom
Poziom powiększenia aparatu określa skalę mapy. Przy większym powiększeniu na ekranie widać więcej szczegółów, a przy mniejszym – więcej obszaru. Przy poziomie powiększenia 0 skala mapy jest taka, że cały świat ma szerokość około 256 punktów.
Zwiększenie poziomu powiększenia o 1 podwaja szerokość świata na ekranie. Dlatego przy poziomie powiększenia N szerokość świata wynosi około 256 * 2N punktów. Na przykład przy poziomie powiększenia 2 cały świat ma około 1024 punktów szerokości.
Poziom powiększenia nie musi być liczbą całkowitą. Zakres poziomów powiększenia dozwolonych na mapie zależy od wielu czynników, w tym od celu, typu mapy i rozmiaru ekranu. Każda liczba spoza zakresu zostanie przekonwertowana na najbliższą prawidłową wartość, która może być minimalnym lub maksymalnym powiększeniem. Poniższa lista pokazuje przybliżony poziom szczegółowości na poszczególnych poziomach powiększenia:
- 1: Świat
- 5: Ląd/kontynent
- 10: Miasto
- 15: Ulice
- 20: Budynki
Ustawianie początkowej pozycji kamery
Ustaw początkową pozycję kamery za pomocą obiektu GMSCameraPosition
, który umożliwia ustawienie współrzędnych geograficznych celu wraz z kierunkiem, pochyleniem i powiększeniem.
Aby ustawić początkową pozycję kamery, utwórz obiekt GMSMapViewOptions
i ustaw właściwość camera
na GMSCameraPosition
. Następnie przekaż opcje do konstruktora ułatwiającego GMSMapView
.
Swift
let options = GMSMapViewOptions() options.camera = GMSCameraPosition.camera(withLatitude: -33.8683, longitude: 151.2086, zoom: 16) let mapView = GMSMapView(options:options)
Objective-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:16]; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
Obiekt GMSMapView
możesz też utworzyć za pomocą domyślnej metody inicjalizacji UIView
. W tym przypadku pozycja kamery zaczyna się w domyślnej lokalizacji, a możesz ją zmienić po utworzeniu.
Swift
let options = GMSMapViewOptions() options.frame = self.view.bounds let mapView = GMSMapView(options:options)
Objective-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
Zmiana pozycji kamery
Możesz programowo zmienić pozycję kamery, aby ustawić lokalizację, kierunek, przechylenie i przybliżenie. GMSMapView
oferuje kilka metod zmiany pozycji kamery, ale zazwyczaj używasz GMSCameraPosition
lub GMSCameraUpdate
:
GMSCameraPosition
zawiera właściwości i metody, których używasz do zmiany każdego parametru pozycji kamery: celu, kierunku, pochylenia i powiększenia.GMSCameraUpdate
umożliwia zmianę celu, kursu, pochylenia i powiększenia. Zawiera też dodatkowe metody ułatwiające przewijanie, zaawansowane powiększanie, wyśrodkowywanie kamery w wyznaczonych granicach i inne.
Podczas przemieszczania kamery możesz „przypiąć” ją do nowej pozycji, co oznacza, że nie będzie animacji, lub możesz ją animować. Jeśli na przykład animujesz zmianę docelowej lokalizacji kamery, animacja przesunie się z wcześniejszej lokalizacji do nowej.
Animacja interpoluje między bieżącymi atrybutami kamery a nowymi atrybutami kamery. Czas trwania animacji możesz kontrolować za pomocą Animation.
Użyj GMSCameraPosition
Aby zmienić kamerę GMSCameraPosition
, utwórz nowy obiekt lub skopiuj istniejący obiekt, a potem umieść go na obiekcie GMSMapView
. Użyj obiektu GMSCameraPosition
, aby ustawić aparat w nowej lokalizacji z animacją lub bez niej.
Użyj obiektu GMSCameraPosition
, aby skonfigurować właściwości aparatu, takie jak szerokość geograficzna, długość geograficzna, zoom, kierunek i kąt widzenia. Następnie używasz tego obiektu do ustawienia właściwości camera
obiektu GMSMapView
.
Swift
let fancy = GMSCameraPosition( latitude: -33, longitude: 151, zoom: 6, bearing: 270, viewingAngle: 45 ) mapView.camera = fancy
Objective-C
GMSCameraPosition *fancy = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:6 bearing:30 viewingAngle:45]; [mapView setCamera:fancy];
Pomiń wszystkie właściwości GMSCameraPosition
, które chcesz ustawić na wartość domyślną.
Aby animować ruch, użyj metody animateToCameraPosition:
zamiast ustawiania właściwości camera
.
Użyj GMSCameraUpdate
GMSCameraUpdate
pozwala zaktualizować pozycję kamery i wybrać, czy ma ona być dopasowana do nowej pozycji, czy też ma się do niej animować. Zaletą GMSCameraUpdate
jest wygoda. Możesz używać GMSCameraPosition
do wykonywania tych samych zadań co GMSCameraUpdate
, ale GMSCameraUpdate
udostępnia dodatkowe metody pomocnicze, które ułatwiają manipulowanie kamerą.
Aby na przykład użyć obiektu GMSCameraPosition
do zwiększenia bieżącego poziomu powiększenia, musisz najpierw określić bieżący poziom powiększenia, a potem utworzyć obiekt GMSCameraPosition
, w którym ustawisz powiększenie o jedną wartość większą niż bieżące powiększenie.
Możesz też utworzyć obiekt GMSCameraUpdate
za pomocą metody zoomIn:
.
Następnie zaktualizuj kamerę, przekazując obiekt GMSCameraUpdate
do metody GMSMapView
animateWithCameraUpdate:
.
Swift
// Zoom in one zoom level let zoomCamera = GMSCameraUpdate.zoomIn() mapView.animate(with: zoomCamera)
Objective-C
// Zoom in one zoom level GMSCameraUpdate *zoomCamera = [GMSCameraUpdate zoomIn]; [mapView animateWithCameraUpdate:zoomCamera];
Zamiast tego użyj metody GMSMapView
moveCamera:
, aby przypiąć aparat w nowej pozycji.
W następnym przykładzie użyjesz GMSCameraUpdate
, aby animować ruch kamery i umieścić ją na środku Vancouver.
Swift
// Center the camera on Vancouver, Canada let vancouver = CLLocationCoordinate2D(latitude: 49.26, longitude: -123.11) let vancouverCam = GMSCameraUpdate.setTarget(vancouver) mapView.animate(with: vancouverCam)
Objective-C
// Center the camera on Vancouver, Canada CLLocationCoordinate2D vancouver = CLLocationCoordinate2DMake(49.26, -123.11); GMSCameraUpdate *vancouverCam = [GMSCameraUpdate setTarget:vancouver]; [mapView animateWithCameraUpdate:vancouverCam];
Tworzenie obiektu GMSCameraUpdate
Utwórz obiekt GMSCameraUpdate
, korzystając z jednej z jego metod.
zoomIn:
izoomOut:
- Zmień bieżący poziom powiększenia o 1,0, zachowując wszystkie inne właściwości.
zoomTo:
- Zmienia poziom powiększenia na podana wartość, zachowując pozostałe właściwości bez zmian.
zoomBy:
- Zwiększa (lub zmniejsza, jeśli wartość jest ujemna) poziom powiększenia o daną wartość.
zoomBy:atPoint:
- Zwiększa (lub zmniejsza, jeśli wartość jest ujemna) poziom powiększenia o podaną wartość, zachowując pozycję wskazanego punktu na ekranie.
setTarget:
- Zmienia szerokość i długość geograficzną kamery, zachowując wszystkie inne właściwości.
setTarget:zoom:
- Zmienia szerokość geograficzną, długość geograficzną i przybliżenie kamery, zachowując wszystkie inne właściwości.
setCamera:
- Ustawia nową wartość
GMSCameraPosition
. scrollByX:Y:
- Zmienia szerokość i długość geograficzną kamery, aby przesunąć mapę o określoną liczbę punktów. Dodatnia wartość x powoduje przesunięcie kamery w prawo, przez co mapa wydaje się przesuwać w lewo. Dodatnia wartość y powoduje przesunięcie kamery w dół, przez co mapa wydaje się przesunięta w górę. Przewijanie odbywa się względem bieżącego kierunku kamery. Jeśli na przykład kamera ma kierunek 90 stopni, wschodnia strona jest „górą”.
fitBounds:
- Przekształca kamerę tak, aby wskazane granice były wyśrodkowane na ekranie przy największym możliwym poziomie powiększenia. Domyślnie stosuje wypełnienie o szerokości 64 punktów.
fitBounds:withPadding:
- Przekształca kamerę, aby wyśrodkować określone zasięgi na ekranie przy największym możliwym poziomie powiększenia. Użyj tej metody, aby określić tę samą wartość marginesu w punktach dla wszystkich stron ogranicznika.
fitBounds:withEdgeInsets:
- Przekształca kamerę, aby wyśrodkować określone zasięgi na ekranie przy największym możliwym poziomie powiększenia. W przypadku
UIEdgeInsets
możesz niezależnie określać odstępy po każdej stronie ramki ograniczającej.
Aby zmienić pojedynczą właściwość, użyj elementu GMSMapView
.
GMSMapView
oferuje kilka metod, które umożliwiają przemieszczanie kamery bez użycia obiektu GMSCameraPosition
ani obiektu GMSCameraUpdate
. Za pomocą tych metod, takich jak animateToLocation:
lub animateToZoom:
, możesz animować zmianę właściwości pojedynczej kamery.
Aby na przykład animować zmianę pochylenia kamery, użyj metody toViewingAngle:
.
Swift
mapView.animate(toViewingAngle: 45)
Objective-C
[mapView animateToViewingAngle:45];
Ustawianie celu (lokalizacji)
Lokalizacja określa środek mapy. Lokalizacje są określane za pomocą szerokości i długości geograficznej oraz reprezentowane programowo przez obiekt CLLocationCoordinate2D
utworzony za pomocą funkcji CLLocationCoordinate2DMake
.
Aby zmienić lokalizację, użyj opcji GMSCameraPosition
. W tym przykładzie mapa przesuwa się do nowej lokalizacji.
Swift
let target = CLLocationCoordinate2D(latitude: -33.868, longitude: 151.208) mapView.camera = GMSCameraPosition(target: target, zoom: 6)
Objective-C
CLLocationCoordinate2D target = CLLocationCoordinate2DMake(-33.868, 151.208); mapView.camera = [GMSCameraPosition cameraWithTarget:target zoom:6];
Aby animować zmianę i przesunąć mapę do nowej lokalizacji, zamiast ustawiać właściwość camera
, możesz użyć metody animateToCameraPosition:
. Możesz też użyć metody animateToLocation:
w przypadku GMSMapView
.
Swift
mapView.animate(toLocation: CLLocationCoordinate2D(latitude: -33.868, longitude: 151.208))
Objective-C
[mapView animateToLocation:CLLocationCoordinate2DMake(-33.868, 151.208)];
Możesz też utworzyć obiekt GMSCameraUpdate
, aby przesuwać kamerę. Użyj wbudowanej metody scrollByX:Y:
, aby określić liczbę punktów przewijania kamery w kierunkach X i Y. W tym przykładzie przewijasz kamerę o 200 punktów w prawo i 100 punktów w dół:
Swift
// Move the camera 200 points to the right, and 100 points downwards let downwards = GMSCameraUpdate.scrollBy(x: 200, y: 100) mapView.animate(with: downwards)
Objective-C
// Move the camera 200 points to the right, and 100 points downwards GMSCameraUpdate *downwards = [GMSCameraUpdate scrollByX:200.0 Y:100.0]; [mapView animateWithCameraUpdate:downwards];
Ustaw kierunek (orientację)
Kierunek to kierunek kompasu mierzony w stopniach od prawdziwej północy dla górnej krawędzi mapy. Na przykład kierunek 90° powoduje, że na mapie górna krawędź wskazuje na wschód.
Ustaw kierunek za pomocą funkcji GMSCameraPosition
lub GMSCameraUpdate
lub za pomocą metody animateToBearing:
klasy GMSMapView
.
Swift
mapView.animate(toBearing: 0)
Objective-C
[mapView animateToBearing:0];
Ustaw pochylenie (kąt widzenia)
Kąt widzenia to położenie kamery na łuku między położeniem bezpośrednio nad środkiem mapy a powierzchnią Ziemi, mierzone w stopniach od zenitu (kierunku wskazywanego bezpośrednio pod kamerą). Gdy zmienisz kąt widzenia, mapa będzie wyświetlana w perspektywie, a elementy między kamerą a pozycją na mapie będą wyglądać proporcjonalnie większe, a elementy poza pozycją na mapie będą proporcjonalnie mniejsze, co spowoduje efekt trójwymiarowości.
Kąt widzenia może wynosić od 0 (wskazówka skierowana wprost na mapę) do maksymalnego poziomu zależnego od poziomu powiększenia. W przypadku poziomu powiększenia 16 lub wyższego maksymalny kąt to 65 stopni. W przypadku poziomu powiększenia 10 lub niższego maksymalny kąt to 30 stopni.
Ustaw kąt widzenia programowo za pomocą metody GMSCameraPosition
lub GMSCameraUpdate
albo za pomocą metody animateToViewingAngle:
klasy GMSMapView
.
Swift
mapView.animate(toViewingAngle: 45)
Objective-C
[mapView animateToViewingAngle:45];
Ustaw powiększenie
Poziom powiększenia aparatu określa skalę mapy. Przy większych poziomach powiększenia możesz zobaczyć więcej szczegółów na ekranie, a przy mniejszych – więcej świata.
Ustaw powiększenie programowo za pomocą funkcji GMSCameraPosition
lub GMSCameraUpdate
albo za pomocą metody animateToZoom:
klasy GMSMapView
.
Swift
mapView.animate(toZoom: 12)
Objective-C
[mapView animateToZoom:12];
W tym przykładzie metoda zoomIn:
służy do tworzenia obiektu GMSCameraUpdate
, aby animować powiększanie o jeden poziom od bieżącego poziomu.
Swift
// Zoom in one zoom level let zoomCamera = GMSCameraUpdate.zoomIn() mapView.animate(with: zoomCamera)
Objective-C
// Zoom in one zoom level GMSCameraUpdate *zoomCamera = [GMSCameraUpdate zoomIn]; [mapView animateWithCameraUpdate:zoomCamera];
Wyznacz granice
Aby przesunąć kamerę tak, aby cały obszar, który Cię interesuje, był widoczny przy największym możliwym powiększeniu, ustaw granice widoku kamery. Jeśli na przykład chcesz wyświetlić wszystkie stacje benzynowe w odległości 8 km od bieżącej pozycji użytkownika, przesuń kamerę, aby wszystkie były widoczne na ekranie:
- Oblicz
GMSCoordinateBounds
, który ma być widoczny na ekranie. - Użyj metody
cameraForBounds:insets:
klasyGMSMapView
, aby zwrócić nową wartośćGMSCameraPosition
.
Ustawienie tych granic zapewnia, że dany element GMSCoordinateBounds
mieści się całkowicie w ramach bieżącego rozmiaru mapy. Pamiętaj, że ta metoda ustawia pochylenie i kierunek mapy na 0.
W tym przykładzie pokazujemy, jak zmienić kamerę, aby miasta Vancouver i Calgary były widoczne w tym samym widoku.
Swift
let vancouver = CLLocationCoordinate2D(latitude: 49.26, longitude: -123.11) let calgary = CLLocationCoordinate2D(latitude: 51.05,longitude: -114.05) let bounds = GMSCoordinateBounds(coordinate: vancouver, coordinate: calgary) let camera = mapView.camera(for: bounds, insets: UIEdgeInsets())! mapView.camera = camera
Objective-C
CLLocationCoordinate2D vancouver = CLLocationCoordinate2DMake(49.26, -123.11); CLLocationCoordinate2D calgary = CLLocationCoordinate2DMake(51.05, -114.05); GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:vancouver coordinate:calgary]; GMSCameraPosition *camera = [mapView cameraForBounds:bounds insets:UIEdgeInsetsZero]; mapView.camera = camera;
ograniczyć przesuwanie przez użytkownika do określonego obszaru,
W tych scenariuszach określane są granice mapy, ale użytkownik może przewijać lub przesuwać widok poza te granice. Zamiast tego możesz ograniczyć zakres współrzędnych środka punktu skupienia mapy (celu kamery), aby użytkownicy mogli przewijać i przesuwać tylko w tych granicach.
Na przykład aplikacja sklepu w centrum handlowym lub na lotnisku może ograniczać mapę do określonych granic, umożliwiając użytkownikom przewijanie i przesuwanie mapy w tych granicach.
Aby ograniczyć przesuwanie do określonych granic, ustaw właściwość cameraTargetBounds
obiektu GMSMapView
na obiekt GMSCoordinateBounds
, który definiuje wymagane granice.
Aby później usunąć ograniczenie, ustaw wartość cameraTargetBounds
na 0.
Swift
mapView.cameraTargetBounds = bounds
Objective-C
mapView.cameraTargetBounds = bounds;
Ten diagram przedstawia sytuację, w której cel kamery jest ograniczony do obszaru nieco większego niż widoczny obszar. Użytkownik może przewijać i przesuwać obraz, o ile obiektyw kamery pozostaje w ograniczonym obszarze. Krzyżyk oznacza cel kamery:
Mapa zawsze wypełnia widoczny obszar, nawet jeśli oznacza to, że widoczny obszar obejmuje obszary poza zdefiniowanymi granicami. Jeśli na przykład umieścisz punkt docelowy kamery w rogu ograniczonego obszaru, obszar za rogiem będzie widoczny w widocznym obszarze, ale użytkownicy nie będą mogli przewinąć dalej w tym kierunku. Ten diagram przedstawia ten scenariusz. Krzyż oznacza cel kamery:
Na diagramie poniżej widać, że obszar docelowy kamery ma bardzo ograniczone granice, co daje użytkownikowi niewielką możliwość przewijania lub przesuwania mapy. Krzyżyk oznacza cel kamery:
Ustawianie minimalnego lub maksymalnego powiększenia
Stałe globalne kGMSMinZoomLevel
i kGMSMaxZoomLevel
definiują minimalne lub maksymalne wartości powiększenia. Domyślnie właściwości minZoom
i maxZoom
obiektu GMSMapView
są ustawione na te stałe.
Aby ograniczyć zakres poziomów powiększenia dostępnych na mapie, ustaw minimalny i maksymalny poziom powiększenia. Poniższy kod ogranicza poziom powiększenia do zakresu 10–15.
Swift
let camera = GMSCameraPosition( latitude: 41.887, longitude: -87.622, zoom: 12 ) let mapView = GMSMapView(frame: .zero, camera: camera) mapView.setMinZoom(10, maxZoom: 15)
Objective-C
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:41.887 longitude:-87.622 zoom:12]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; [mapView setMinZoom:10 maxZoom:15];
Zakres powiększenia musisz ustawić za pomocą metody setMinZoom:maxZoom:
, ale bieżące wartości możesz odczytać za pomocą właściwości minZoom
i maxZoom
. To podejście jest przydatne, gdy chcesz ograniczyć tylko jedną z tych wartości. Poniższy kod zmienia tylko minimalny poziom powiększenia.
Swift
mapView.setMinZoom(12, maxZoom: mapView.maxZoom)
Objective-C
[mapView setMinZoom:12 maxZoom:mapView.maxZoom];
Jeśli po zaktualizowaniu minimalnego i maksymalnego powiększenia poziom powiększenia aparatu jest ustawiony na wartość spoza nowego zakresu, bieżące powiększenie zostanie automatycznie zaktualizowane, aby wyświetlić najbliższą prawidłową wartość. Na przykład w poniższym kodzie oryginalny zoom jest zdefiniowany jako 4. Gdy zakres zoomu zostanie później ustawiony na 10–15, bieżący zoom zostanie zaktualizowany do 10.
Swift
// Sets the zoom level to 4. let camera2 = GMSCameraPosition( latitude: 41.887, longitude: -87.622, zoom: 4 ) let mapView2 = GMSMapView(frame: .zero, camera: camera) // The current zoom, 4, is outside of the range. The zoom will change to 10. mapView.setMinZoom(10, maxZoom: 15)
Objective-C
// Sets the zoom level to 4. GMSCameraPosition *camera2 = [GMSCameraPosition cameraWithLatitude:41.887 longitude:-87.622 zoom:4]; GMSMapView *mapView2 = [GMSMapView mapWithFrame:CGRectZero camera:camera]; // The current zoom, 4, is outside of the range. The zoom will change to 10. [mapView setMinZoom:10 maxZoom:15];