Za pomocą pakietu Maps SDK na iOS możesz zmienić punkt widzenia użytkownika mapy, zmieniając aparat mapy.
Pakiet SDK Maps SDK na iOS pozwala użytkownikom przechylać i obracać mapy, aby dostosować je do orientacji odpowiedniej dla ich kontekstu. Użytkownicy mogą przesuwać mapę i zmieniać ją na każdym poziomie powiększenia z bardzo niewielkim opóźnieniem.
Zmiany wprowadzone w aparacie nie mają wpływu na dodane znaczniki, linie łamane ani inne dodane elementy graficzne, chociaż możesz je dostosować, aby lepiej pasowały do nowego widoku.
Widok mapy
Pakiet SDK Map Google na iOS używa rzutu miernika do reprezentowania powierzchni świata (sfery) na ekranie urządzenia (płaskiej płaszczyzny).
Pozycja kamery
Widok mapy jest modelowany jako aparat patrzący w dół na płaskiej płaszczyźnie. Położenie kamery (a tym samym renderowanie mapy) jest określane za pomocą tych właściwości: cel (szerokość/długość geograficzna), kierowanie, przechylenie i powiększenie.

Kierowanie (lokalizacja)
Cel kamery to położenie środka mapy, określona jako szerokość i długość geograficzna.
Szerokość geograficzna może wynosić od -85 do 85 stopni włącznie. Wartości powyżej lub poniżej tego zakresu będą ograniczane do najbliższej wartości w tym zakresie. Na przykład określenie szerokości geograficznej 100 spowoduje ustawienie wartości na 85. Długość geograficzna to zakres od -180 do 180 stopni włącznie. Wartości powyżej lub poniżej tego zakresu będą zawijane w taki sposób, aby mieściły się w zakresie (-180–180). Na przykład formaty 480, 840 i 1200 zostaną zawijane do 120 stopni.Namiar (orientacja)
Orientacja kamery określa kierunek kompasu mierzony w stopniach od rzeczywistej północy, odpowiadający górnej krawędzi mapy. Jeśli narysujesz pionową linię od środka mapy do górnej krawędzi mapy, kierunek kierunkowy odpowiada kierunkowi położenia kamery (mierzonej w stopniach) względem rzeczywistej północy.
Orientacja równa 0 oznacza, że górna część mapy wskazuje prawdziwą północ. Wartość 90 stopni oznacza górną część mapy kierunkiem na wschód (90 stopni na kompasie). Wartość 180 oznacza, że górna część mapy jest odsunięta na południe.
Interfejs API Map Google umożliwia zmianę kierunku mapy. Na przykład gdy samochód często obraca mapę drogową, aby wyrównać ją z kierunkiem podróży, osoby korzystające z mapy i kompasu zwykle ustawiają kierunek mapy tak, aby pionowa linia wskazywała północ.
Pochylenie (kąt patrzenia)
Pochylenie określa położenie kamery na łuku dokładnie nad położeniem środkowym mapy, mierzonym w stopniach od nadiru (kierunek wskazujący bezpośrednio pod kamerą). Wartość 0 oznacza, że kamera jest skierowana prosto w dół. Wartości większe niż 0 odpowiadają kamerze, która jest pochylona w kierunku horyzontu o określoną liczbę stopni. Po zmianie kąta widoku mapa jest wyświetlana jako perspektywa, przy czym odległe obiekty są mniejsze, a obiekty w pobliżu – większe. Ilustracje poniżej.
Na poniższych obrazach kąt patrzenia wynosi 0 stopni. Pierwszy obraz to schemat tej pozycji. Pozycja 1 to pozycja kamery, a pozycja 2 – aktualna pozycja na mapie. Wynikowa mapa jest widoczna pod nią.
![]() |
![]() |
Na poniższych obrazach kąt patrzenia wynosi 45 stopni. Zwróć uwagę, że kamera porusza się w połowie łuku między prostą głową (0 stopni) a podłożem (90 stopni), aby umieścić ją w pozycji 3. Kamera nadal wskazuje punkt środkowy mapy, ale obszar reprezentowany przez linię w pozycji 4 jest już widoczny.
![]() |
![]() |
Mapa na tym zrzucie ekranu jest nadal wyśrodkowana w tym samym punkcie, co na oryginalnej mapie, ale u góry mapy pojawiło się więcej funkcji. Przy powiększeniu do ponad 45 stopni obiekty znajdujące się między aparatem a położeniem na mapie stają się proporcjonalnie większe, natomiast obiekty znajdujące się poza mapą są proporcjonalnie mniejsze, dając efekt trójwymiarowy.
Szersza
Poziom powiększenia kamery określa skalę mapy. Przy większym powiększeniu na ekranie widać więcej szczegółów, a przy mniejszych – więcej świata. Przy powiększeniu 0 skala mapy jest tak, ż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 powiększeniu N szerokość świata wynosi około 256 x 2N punktów. Na przykład przy powiększeniu 2 cały świat ma około 1024 punkty.
Poziom powiększenia nie musi być liczbą całkowitą. Zakres powiększeń dozwolony na mapie zależy od wielu czynników, w tym celu, typu mapy i rozmiaru ekranu. Każda liczba spoza zakresu zostanie przekonwertowana na następną najbliższą prawidłową wartość, którą może być minimalny lub maksymalny poziom powiększenia. 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
![]() |
![]() |
![]() |
Ustaw początkową pozycję kamery
Ustaw początkową pozycję kamery za pomocą obiektu GMSCameraPosition
. Pozwoli Ci to ustawić szerokość i długość geograficzną celu wraz z kierowaniem, przechylaniem i powiększaniem.
Aby ustawić początkowe położenie kamery, utwórz obiekt GMSCameraPosition
, a następnie przekaż go do wygodnego konstruktora GMSMapView
.
Swift
let camera = GMSCameraPosition( latitude: -33.8683, longitude: 151.2086, zoom: 16 ) mapView = GMSMapView(frame: self.view.bounds, camera: camera)
Objective-C
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:16]; mapView = [GMSMapView mapWithFrame:self.view.bounds camera:camera];
Obiekt GMSMapView
możesz też utworzyć, korzystając z domyślnej metody inicjowania UIView
.
W takim przypadku położenie kamery zaczyna się w lokalizacji domyślnej, którą możesz zmienić po utworzeniu.
Swift
mapView = GMSMapView(frame: self.view.bounds)
Objective-C
mapView = [[GMSMapView alloc] initWithFrame:self.view.bounds];
Zmień pozycję kamery
Możesz automatycznie zmienić pozycję kamery, aby określić lokalizację, kierunek, pochylenie i powiększenie. Chociaż GMSMapView
udostępnia kilka metod zmiany pozycji kamery, zwykle używasz GMSCameraPosition
lub GMSCameraUpdate
:
GMSCameraPosition
zawiera właściwości i metody, które służą do zmiany każdego parametru pozycji kamery: celu, kierunku, przechylenia i powiększenia.GMSCameraUpdate
umożliwia zmianę celu, kierunku, przechylania i powiększania, a także zawiera dodatkowe, wygodne metody umożliwiające obsługę przewijania, zaawansowanego powiększania, środkowania kamery w określonych granicach i nie tylko.
Podczas przesuwania kamery możesz „przyciągnąć” ją do nowej pozycji, aby nie była animowana ani animować jej ruchu. Jeśli na przykład animujesz zmianę lokalizacji docelowej kamery, animacja zostanie przesunięta ze starej lokalizacji do nowej.
Animacja interpoluje między bieżącymi atrybutami kamery i nowymi atrybutami. Czas trwania animacji możesz kontrolować za pomocą podstawowej animacji.
Użyj GMSCameraPosition
Aby zmienić kamerę za pomocą GMSCameraPosition
, utwórz nowy obiekt lub skopiuj istniejący i ustaw go na obiekcie GMSMapView
. Użyj obiektu GMSCameraPosition
, aby przyciągnąć kamerę do nowej lokalizacji z animacją lub bez niej.
Za pomocą obiektu GMSCameraPosition
możesz skonfigurować właściwości kamery, takie jak szerokość i długość geograficzna, powiększenie, kierunek i kąt patrzenia. Następnie za pomocą tego obiektu ustaw właściwość camera
elementu 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ć jako wartość domyślną.
Aby animować przenoszenie, użyj metody animateToCameraPosition:
zamiast ustawiania właściwości camera
.
Użyj GMSCameraUpdate
GMSCameraUpdate
pozwala zmienić pozycję kamery i wybrać, czy chcesz ją przyciągać czy animować. Zaletą GMSCameraUpdate
jest wygoda. Za pomocą GMSCameraPosition
możesz wykonywać te same zadania co GMSCameraUpdate
, ale GMSCameraUpdate
udostępnia dodatkowe metody pomocnicze, które ułatwiają manipulowanie kamerą.
Na przykład, aby za pomocą GMSCameraPosition
zwiększyć bieżący poziom powiększenia, musisz najpierw określić bieżący poziom, a następnie utworzyć obiekt GMSCameraPosition
, w którym ustawisz powiększenie na wartość o 1 większą niż bieżące.
Możesz też utworzyć obiekt GMSCameraUpdate
przy użyciu 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];
Użyj metody GMSMapView
moveCamera:
, aby przyciągnąć aparat w nowe miejsce.
W następnym przykładzie użyjesz funkcji GMSCameraUpdate
, aby animować ruch kamery i wyśrodkować go w 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
przy użyciu jednej z jego metod.
zoomIn:
izoomOut:
- Zmień bieżący poziom powiększenia o 1,0, pozostawiając wszystkie pozostałe właściwości bez zmian.
zoomTo:
- Zmienia poziom powiększenia na określoną wartość, zachowując wszystkie inne właściwości.
zoomBy:
- Zwiększa (lub maleje, jeśli wartość jest ujemna) poziom powiększenia o podaną wartość.
zoomBy:atPoint:
- Zwiększa (lub zmniejsza, jeśli wartość jest ujemna) poziom powiększenia o podaną wartość, zachowując położenie wskazanego punktu na ekranie.
setTarget:
- Zmienia szerokość i długość geograficzną kamery, zachowując wszystkie pozostałe właściwości.
setTarget:zoom:
- Zmienia szerokość i długość geograficzną kamery oraz powiększenie, zachowując wszystkie pozostałe właściwości.
setCamera:
- Ustawia nowy element (
GMSCameraPosition
). scrollByX:Y:
- Zmień szerokość i długość geograficzną kamery, aby przesunąć mapę o określoną liczbę punktów. Dodatnia wartość x powoduje, że kamera przesuwa się w prawo, przez co mapa wydaje się przesunąć w lewo. Dodatnia wartość y powoduje przesuwanie kamery w dół, przez co mapa wydaje się przesunięta do góry. Zakres przewijania odbywa się zgodnie z bieżącym nałożeniem kamery. Jeśli na przykład kąt nachylenia kamery wynosi 90 stopni, to wschód to „na górze”.
fitBounds:
- Przekształca kamerę, aby wyśrodkować określone granice na ekranie przy największym możliwym poziomie powiększenia. Stosuje domyślne dopełnienie na granicach 64 punktów.
fitBounds:withPadding:
- Przekształca kamerę, aby wyśrodkować określone granice na ekranie przy największym możliwym poziomie powiększenia. Użyj tej metody, aby określić to samo dopełnienie w punktach dla wszystkich boków ramki ograniczającej.
fitBounds:withEdgeInsets:
- Przekształca kamerę, aby wyśrodkować określone granice na ekranie przy największym możliwym poziomie powiększenia. W przypadku właściwości
UIEdgeInsets
dopełnienie określa się osobno dla każdej strony ramki ograniczającej.
Aby zmienić pojedynczą usługę, użyj GMSMapView
.
GMSMapView
udostępnia kilka metod, które umożliwiają przemieszczanie kamery bez użycia obiektu GMSCameraPosition
ani obiektu GMSCameraUpdate
. Za pomocą tych metod, takich jak animateToLocation:
czy animateToZoom:
, możesz animować zmianę dotyczącą pojedynczej właściwości kamery.
Możesz np. użyć metody toViewingAngle:
, aby animować zmianę nachylenia kamery.
Swift
mapView.animate(toViewingAngle: 45)
Objective-C
[mapView animateToViewingAngle:45];
Ustaw cel (lokalizacja)
Lokalizacja określa środek mapy. Lokalizacje określamy za pomocą szerokości i długości geograficznej i są reprezentowane programowo przez atrybut CLLocationCoordinate2D
utworzony za pomocą parametru CLLocationCoordinate2DMake
.
Użyj aplikacji GMSCameraPosition
, aby zmienić lokalizację. W tym przykładzie mapa
przyciąga 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 ustawiania właściwości camera
możesz użyć metody animateToCameraPosition:
.
Możesz też użyć metody animateToLocation:
na stronie 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 przesunąć 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 o 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];
Ustawianie kierunku (orientacji)
Orientacja to kierunek kompasu mierzony w stopniach od rzeczywistej północy geograficznej dla górnej krawędzi mapy. Na przykład odchylenie o 90 stopni powoduje, że górna krawędź wskazuje na wschód.
Ustaw parametr wiążący automatycznie za pomocą funkcji GMSCameraPosition
lub GMSCameraUpdate
albo metody animateToBearing:
właściwości GMSMapView
.
Swift
mapView.animate(toBearing: 0)
Objective-C
[mapView animateToBearing:0];
Ustaw pochylenie (kąt patrzenia)
Kąt patrzenia to położenie kamery na łuku między położeniem środkowym mapy a powierzchnią Ziemi, mierzone w stopniach od nadiru (kierunku skierowanego bezpośrednio pod kamerę). Przy zmianie kąta patrzenia mapa jest wyświetlana w perspektywie, a elementy między kamerą a położeniem na mapie są proporcjonalnie większe, a obiekty wykraczające poza tę pozycję są proporcjonalnie mniejsze, dając efekt trójwymiarowy.
Kąt patrzenia może wynosić od 0 (skierowany na mapę prosto w dół) do wartości maksymalnej zależnej od poziomu powiększenia. W przypadku powiększenia na poziomie 16 lub wyższym maksymalny kąt to 65 stopni. W przypadku powiększenia o wartości 10 lub niższym maksymalny kąt wynosi 30 stopni.
Ustaw kąt widzenia automatycznie za pomocą GMSCameraPosition
lub GMSCameraUpdate
albo metody animateToViewingAngle:
GMSMapView
.
Swift
mapView.animate(toViewingAngle: 45)
Objective-C
[mapView animateToViewingAngle:45];
Ustaw powiększenie
Poziom powiększenia kamery określa skalę mapy. Przy większych poziomach powiększenia widzisz więcej szczegółów na ekranie, a mniejsze powiększenie pozwala zobaczyć więcej światu.
Ustaw powiększenie programowo za pomocą funkcji GMSCameraPosition
lub GMSCameraUpdate
albo metody animateToZoom:
GMSMapView
.
Swift
mapView.animate(toZoom: 12)
Objective-C
[mapView animateToZoom:12];
W poniższym przykładzie użyto metody zoomIn:
do utworzenia obiektu GMSCameraUpdate
do animowania powiększenia o jeden poziom w stosunku do 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];
Wyznaczanie granic
Aby przesunąć kamerę tak, aby cały interesujący obszar był widoczny przy największym możliwym poziomie powiększenia, ustaw granice widoku kamery. Jeśli na przykład chcesz wyświetlić wszystkie stacje benzynowe w promieniu pięciu kilometrów od bieżącej pozycji użytkownika, przesuń kamerę tak, aby wszystkie stacje były widoczne na ekranie:
- Oblicz wartość elementu
GMSCoordinateBounds
, który ma być widoczny na ekranie. - Użyj metody
cameraForBounds:insets:
klasyGMSMapView
, aby zwrócić nowy obiektGMSCameraPosition
.
Ustawienie tych granic sprawia, że dany element GMSCoordinateBounds
w pełni mieści się w bieżącym rozmiarze mapy. Pamiętaj, że ta metoda ustawia przechylenie i kierunek mapy na 0.
Z przykładu poniżej dowiesz się, jak zmienić kamerę, tak 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;
Ogranicz przesuwanie do danego obszaru
W powyższych scenariuszach wyznaczasz granice mapy, ale użytkownik może przewinąć lub przesunąć mapę. Zamiast tego można ograniczyć środkowe granice szerokości i długości punktu fokalnego mapy (celu kamery), aby użytkownicy mogli tylko przewijać i przesuwać widok w tych granicach.
Na przykład aplikacja sklepowa centrum handlowego lub lotniska może ograniczyć 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
GMSMapView
na obiekt GMSCoordinateBounds
, który określa wymagane granice. Aby później usunąć to ograniczenie, ustaw cameraTargetBounds
na nil.
Swift
mapView.cameraTargetBounds = bounds
Objective-C
mapView.cameraTargetBounds = bounds;
Poniższy diagram przedstawia scenariusz, w którym cel kamery jest ograniczony do obszaru, który jest nieco większy od widocznego obszaru. Użytkownik może przewijać i przesuwać, o ile cel kamery znajduje się w wyznaczonym obszarze. Krzyżyk oznacza cel kamery:

Mapa zawsze wypełnia widoczny obszar, nawet jeśli w jego przypadku widać obszary, które znajdują się poza zdefiniowanymi granicami. Jeśli na przykład umieścisz cel kamery w rogu ograniczonego obszaru, obszar za rogiem będzie widoczny w widocznym obszarze, ale użytkownicy nie będą mogli dalej do niego przewinąć. Poniższy diagram przedstawia ten scenariusz. Krzyż symbolizuje cel kamery:

Na poniższym diagramie cel kamery ma bardzo ograniczone granice, przez co użytkownik ma bardzo niewiele możliwości przewijania ani przesuwania mapy. Krzyżyk oznacza cel kamery:

Ustawianie minimalnego lub maksymalnego powiększenia
Stałe globalne kGMSMinZoomLevel
i kGMSMaxZoomLevel
określają minimalne i 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 dla mapy, ustaw minimalny i maksymalny poziom powiększenia. Poniższy kod ogranicza poziom powiększenia do 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ć, korzystając z właściwości minZoom
i maxZoom
.
Ta metoda jest przydatna, gdy ograniczasz tylko jedną z wartości. Podany niżej 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 zmianie minimalnego i maksymalnego powiększenia kamera zostanie ustawiona 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 pierwotne powiększenie jest zdefiniowane na poziomie 4. Gdy zakres powiększenia zostanie później ustawiony na 10–15, bieżące powiększenie zostanie zmienione na 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];