Kamera i widok

Wybierz platformę: Android iOS JavaScript

Za pomocą pakietu Maps SDK na iOS możesz zmienić punkt widzenia użytkownika na mapie przez zmianę aparatu mapy.

W pakiecie Maps SDK na iOS użytkownicy mogą przechylać i obracać aby dostosować je do orientacji przydatnej w danym kontekście. Przy dowolnym powiększeniu użytkownicy mogą przesuwać mapę i zmieniać jej perspektywę z bardzo małym opóźnieniem.

Zmiany w aparacie nie powodują zmiany znaczników, linii łamanych ani innych elementów graficznych ale możesz je zmienić, aby lepiej pasowały do nowy widok.

Widok mapy

Maps SDK na iOS korzysta z platformy Mercator prognoza reprezentująca powierzchnię świata (kulę) na ekranie urządzenia (płaska samolotem).

Położenie kamery

Widok mapy jest modelowany jako kamera patrząca w dół na płaskiej płaszczyźnie. Pozycja kamery (a tym samym renderowanie mapy) są określane przez te właściwości: target (szerokość/długość geograficzna), bearing, przechyla, oraz powiększenie.

Schemat właściwości kamery

Cel (lokalizacja)

Cel kamery to lokalizacja środka mapy, określona jako szerokości i długości geograficznej.

Szerokość geograficzna może wynosić od -85 do 85 stopni włącznie. Wartości powyżej lub poniżej tego zakresu zostanie ograniczona do najbliższej wartości z tego zakresu. Na przykład szerokość geograficzna równa 100 powoduje ustawienie wartości 85. Długość geograficzna mieści się w zakresie od -180 do 180 stopni włącznie. Wartości powyżej lub poniżej tej wartości zakres zostanie zawijany w taki sposób, aby mieścił się w zakresie (-180, 180). Dla: Na przykład 480, 840 i 1200 zostaną zapakowane w zakresie 120 stopni.

Orientacja

Orientacja kamery określa kierunek kompasu, mierzony w stopniach od rzeczywistej północy, odpowiadając do górnej krawędzi mapy. Jeśli narysujesz pionową linię od środka mapy do górnej krawędzi położenie na mapie, położenie odpowiada kierunkowi kamery (mierzonemu w stopniach) do północy geograficznej.

Orientacja 0 oznacza, że góra mapy wskazuje rzeczywistą północ. Wartość kierunku 90 oznacza, że góra mapy jest skierowana we wschód (90 stopni na kompasie). Wartość A 180 oznacza górną część mapy wskazujący kierunek południowy.

Interfejs API Map Google umożliwia zmianę kierunku mapy. Na przykład gdy ktoś jedzie samochodem często zmienia mapę, wyrównując ją z kierunkiem podróży, a turyści korzystają z mapy, kompas zazwyczaj ustala mapę tak, aby pionowa linia wskazywała północ.

Pochylenie (kąt patrzenia)

Pochylenie określa położenie kamery na łuku bezpośrednio nad mapą położenie środkowe, mierzone w stopniach od Nadir (kierunek skierowany bezpośrednio pod aparatem). Wartość 0 oznacza, że aparat jest skierowany. prosto w dół. Wartości większe niż 0 odpowiadają kamerze, która jest nachylona w kierunku horyzontu o określoną liczbę stopni. Po zmianie kąta patrzenia mapa jest wyświetlana w perspektywie z odległymi obiektami mniejsze, a pobliskie obiekty wydają się większe. Poniżej ilustracje.

Na poniższych obrazach kąt patrzenia wynosi 0 stopni. Pierwszy obraz przedstawia to schematy, pozycja 1 to pozycja kamery, a pozycja 2 to bieżąca pozycja na mapie. Powstała mapa jest widoczna pod nią.

Zrzut ekranu mapy z kamerą ustawioną pod kątem 0 stopni przy powiększeniu 18.
Mapa wyświetlana z domyślnym kątem patrzenia kamery.
Diagram pokazujący domyślne położenie kamery bezpośrednio nad pozycją na mapie pod kątem 0 stopni.
Domyślny kąt patrzenia kamery.

Na poniższych obrazach kąt patrzenia wynosi 45 stopni. Zwróć uwagę, że kamera porusza się w połowie łuku między głowem prostym (0 stopni) a podłożem (90 stopni), w pozycji 3. Aparat nadal wskazuje środek mapy, ale obszar reprezentowana przez linię w pozycji 4 jest teraz widoczna.

Zrzut ekranu mapy z kamerą pod kątem 45 stopni przy powiększeniu 18.
Mapa wyświetlana pod kątem 45 stopni.
Diagram przedstawiający kąt patrzenia kamery ustawiony na 45 stopni z poziomem powiększenia nadal ustawionym na 18.
Kąt patrzenia kamery pod kątem 45 stopni.

Mapa na tym zrzucie ekranu jest wciąż wyśrodkowana w tym samym punkcie, co w oryginalnej mapy, ale na jej górze pojawiło się więcej obiektów. Gdy zwiększ kąt powyżej 45 stopni, elementy między aparatem a mapą położenie jest proporcjonalnie większe, a obiekty poza położeniem na mapie wydawać się proporcjonalnie mniejsze, co daje efekt trójwymiarowy.

Zoom

Poziom powiększenia kamery określa skalę mapy. Przy większym powiększeniu bardziej szczegółowa jest widoczność na ekranie przy mniejszym powiększeniu. więcej informacji ze świata jest widoczne na ekranie. Przy powiększeniu 0 skala mapy jest taka, że cały świat około 256 punktów.

Zwiększenie poziomu powiększenia o 1 powoduje podwojenie szerokości ekranu. Dlatego przy powiększeniu N szerokość świata wynosi około 256 * 2N punktów. Na przykład przy powiększeniu 2 cały świat jest ustawiony na około Szerokość: 1024 punkty.

Poziom powiększenia nie musi być liczbą całkowitą. Zakres powiększenia poziomy dozwolone przez mapę zależą od wielu czynników, w tym od wartości docelowej, typu mapy i rozmiaru ekranu. Każda liczba spoza zakresu zostanie przekonwertowana na następną najbliższą prawidłową wartością, którą może być minimalny poziom powiększenia maksymalny poziom powiększenia. Poniższa lista pokazuje przybliżony poziom szczegółowości które możesz zobaczyć przy każdym powiększeniu:

  • 1: Świat
  • 5: Ląd/kontynent
  • 10: Miasto
  • 15: Ulice
  • 20. Budynki
Te obrazy pokazują wygląd różnych poziomów powiększenia:
Zrzut ekranu mapy w powiększeniu 5
Mapa w powiększeniu 5.
Zrzut ekranu mapy w powiększeniu 15
Mapa w powiększeniu 15.
Zrzut ekranu mapy przy powiększeniu 20
Mapa w powiększeniu 20.

Ustaw początkową pozycję kamery

Ustaw początkowe położenie kamery za pomocą GMSCameraPosition który pozwala ustawić szerokość i długość geograficzną celu przesuwania, pochylenia i powiększenia.

Aby ustawić początkowe położenie kamery, utwórz obiekt GMSMapViewOptions i ustaw właściwości camera na GMSCameraPosition. Następnie przekaż te opcje do GMSMapView konstruktorem wygodnym.

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];

Możesz też utworzyć obiekt GMSMapView za pomocą domyślnego inicjowania UIView . W takim przypadku kamera będzie ustawiona na pozycji domyślnej, a Ty zmienić go 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];

Zmień pozycję kamery

Możesz automatycznie zmienić pozycję kamery, aby ustawić lokalizację, przesuwania, pochylenia i powiększenia. GMSMapView udostępnia kilka metod, którego możesz użyć do zmiany pozycji kamery, zwykle używasz GMSCameraPosition lub GMSCameraUpdate:

  • GMSCameraPosition zawiera właściwości i metody, które pozwalają zmienić każde położenie kamery : kierowanie, położenie, przechylenie i powiększenie.

  • GMSCameraUpdate umożliwia zmianę celu, położenia, przechylenia i powiększenia. Zawiera też dodatkowe opcje do obsługi przewijania, zaawansowanego powiększania, wyśrodkowania kamery w ustalonych granicach i nie tylko.

Gdy poruszysz kamerą, możesz wybrać opcję „Przyciągnij”. do nowego aparatu (czyli brak animacji) lub animuj ruch. Na przykład, jeśli jeśli postanowisz animować zmianę w docelowym położeniu kamery, animacja zostanie przesunięta z wcześniejszej lokalizacji do nowej.

Animacja interpoluje między bieżącymi atrybutami kamery a nowym atrybutów aparatu. Możesz ustawić czas trwania animacji za pomocą opcji Rdzeń Animacja.

Użyj konta GMSCameraPosition

Aby zmienić aparat za pomocą GMSCameraPosition utworzysz nowy obiekt lub skopiujesz istniejący, a następnie ustawisz go GMSMapView obiekt. Użyj obiektu GMSCameraPosition, aby przyciągnąć kamerę nową lokalizację z animacją lub bez niej.

Za pomocą obiektu GMSCameraPosition możesz skonfigurować właściwości kamery, takie jak szerokość i długość geograficzną, powiększenie, położenie i kąt patrzenia. Później możesz użyć tego obiektu, , aby ustawić 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, dla których chcesz ustawić wartość domyślną.

Aby animować ruch, użyj metody animateToCameraPosition: zamiast: przez ustawienie właściwości camera.

Użyj konta GMSCameraUpdate

GMSCameraUpdate pozwala zmienić pozycję kamery i wybrać, czy ruch ma być przyciągany, czy animowany. na nowym stanowisku. Zaletą usługi GMSCameraUpdate jest wygoda. Dostępne opcje użyj aplikacji GMSCameraPosition do wykonywania tych samych zadań co GMSCameraUpdate, ale GMSCameraUpdate udostępnia dodatkowe metody pomocnicze użyć jej.

Aby na przykład zwiększyć aktualny poziom powiększenia za pomocą elementu GMSCameraPosition, musisz najpierw określić bieżący poziom powiększenia, a potem utworzyć GMSCameraPosition obiekt, w którym ustawiasz powiększenie na wartość 1 większą niż do bieżącego powiększenia.

Możesz też utworzyć obiekt GMSCameraUpdate za pomocą metody zoomIn:. Następnie zaktualizuj kamerę, przekazując obiekt GMSCameraUpdate do funkcji Metoda 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];
      

Aby przyciągnąć kamerę do nowej pozycji, użyj metody GMSMapView moveCamera: .

W następnym przykładzie animujesz ruch kamery za pomocą obiektu GMSCameraUpdate żeby wyśrodkować ją na 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];
      

Utwórz obiekt GMSCameraUpdate

Zbuduj obiekt GMSCameraUpdate, używając jednej z jego metod.

zoomIn:zoomOut:
Zmień bieżący poziom powiększenia o 1,0, pozostawiając z pozostałymi właściwościami.
zoomTo:
Zmienia poziom powiększenia na określoną wartość, zachowując pozostałe właściwości.
zoomBy:
Zwiększa (lub zmniejsza, jeśli wartość jest ujemna) poziom powiększenia przez podaną wartość.
zoomBy:atPoint:
Zwiększa (lub zmniejsza, jeśli wartość jest ujemna) powiększenia o daną wartość, zachowując jednocześnie określony punkt pozycję na ekranie.
setTarget:
Zmienia szerokość i długość geograficzną aparatu przy zachowaniu wszystkich pozostałych usług.
setTarget:zoom:
Zmienia szerokość i długość geograficzną oraz powiększenie kamery podczas z zachowaniem wszystkich pozostałych właściwości.
setCamera:
Ustawia nowy element: GMSCameraPosition.
scrollByX:Y:
Zmienia szerokość i długość geograficzną kamery, aby przesunąć mapę o określoną liczbę punktów. Dodatnia wartość x powoduje aparat przesunął się w prawo, dzięki czemu mapa przesunęła się Użytkownik rozłączył się. Dodatnia wartość y powoduje przesuwanie kamery w dół, dzięki czemu mapa zdaje się, że przesunęli się w górę. Przewijanie zależy od bieżącego ustawienia kamery ducha. Jeśli na przykład kamera jest ustawiona na 90 stopni, wschód jest „na górze”.
fitBounds:
Przekształca kamerę tak, aby wyśrodkowała na ekranie określone granice uzyskać największy możliwy poziom powiększenia. Stosuje wartość domyślną do 64 punktów.
fitBounds:withPadding:
Przekształca kamerę tak, aby wyśrodkowała określone granice przy największym możliwym powiększeniu. Użyj tej metody, aby określić to samo dopełnienie w punktach na wszystkich stronach ramki ograniczającej.
fitBounds:withEdgeInsets:
Przekształca kamerę tak, aby wyśrodkowała określone granice przy największym możliwym powiększeniu. UIEdgeInsets, możesz niezależnie określić dopełnienie każdej strony ramki ograniczającej.

Użyj narzędzia GMSMapView, aby zmienić pojedynczą usługę

GMSMapView udostępnia kilka metod, które pozwalają przesuwać kamerę bez użycia GMSCameraPosition lub GMSCameraUpdate obiekt. W ten sposób jako animateToLocation: lub animateToZoom:, możesz animować zmianę w właściwości pojedynczego aparatu.

Możesz na przykład użyć metody toViewingAngle:, aby animować zmianę w kamerze przechyl.

Swift

mapView.animate(toViewingAngle: 45)
      

Objective-C

[mapView animateToViewingAngle:45];
      

Ustaw cel (lokalizację)

Lokalizacja określa środek mapy. Lokalizacje są określane przez długości i szerokości geograficznej, a także reprezentowane automatycznie przez CLLocationCoordinate2D, utworzono za pomocą: CLLocationCoordinate2DMake.

Użyj aplikacji GMSCameraPosition, aby zmienić lokalizację. W tym przykładzie mapa zostanie przyciągnięta 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, możesz użyć funkcji animateToCameraPosition: zamiast ustawiać właściwość camera. Lub: użyj metody animateToLocation: w 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 funkcji scrollByX:Y:, aby określić liczbę punktów do przewinięcia w kierunkach X i Y. W tym przykładzie przewijasz obraz z aparatu o 200 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];
      

Ustaw kierunek (orientację)

Kursor to kierunek kompasu, mierzony w stopniach od rzeczywistej północy, dla: do górnej krawędzi mapy. Na przykład odchylenie o 90 stopni oznacza na mapie w którym górna krawędź styka się na wschód.

Ustaw kierunek automatycznie za pomocą funkcji GMSCameraPosition lub GMSCameraUpdate lub z metodą animateToBearing: dla 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 środkowego położenia mapy i powierzchni Ziemi, mierzonej w stopniach od nadir (kierunek bezpośrednio pod kamerą). Po zmianie kąta patrzenia mapa jest widoczny w perspektywie z elementami między aparatem a mapą proporcjonalnie większy i pojawiają się inne elementy. proporcjonalnie mniejsze, co daje efekt trójwymiarowego obrazu.

Kąt patrzenia może wynosić od 0 (wskazuje prosto w dół mapy) lub do wartości maksymalnej zależnej od poziomu powiększenia. Przy powiększeniu 16 lub wyższym maksymalny kąt wynosi 65 stopni. W przypadku powiększenia 10 lub niższego maksymalny kąt wynosi 30. stopni.

Ustaw kąt patrzenia automatycznie za pomocą opcji GMSCameraPosition lub GMSCameraUpdate lub metodę 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ększym powiększeniu pozwala zobaczyć więcej szczegółów na ekranie, a przy mniejszych widzi więcej świata.

Ustaw powiększenie automatycznie za pomocą GMSCameraPosition lub GMSCameraUpdate albo z metodą animateToZoom: dla GMSMapView.

Swift

mapView.animate(toZoom: 12)
      

Objective-C

[mapView animateToZoom:12];
      

Poniższy przykład pokazuje użycie metody zoomIn: do utworzenia GMSCameraUpdate. obiektu, by animować powiększenie 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 możliwy poziom powiększenia i wyznaczenie granic widoku kamery. Jeśli na przykład chcą wyświetlić wszystkie stacje benzynowe znajdujące się w promieniu 5 km od aktualnej lokalizacji użytkownika, przesuń kamerę tak, aby wszystkie znalazły się na ekranie:

  1. Oblicz wartość GMSCoordinateBounds, którą chcesz uzyskać muszą być widoczne na ekranie.
  2. Użyj metody cameraForBounds:insets: GMSMapView, aby zwrócić nowy GMSCameraPosition

Ustawienie tych granic gwarantuje, że GMSCoordinateBounds będzie w pełni pasował w odniesieniu do rozmiaru bieżącej mapy. Pamiętaj, że ta metoda ustawia przechylenie i położenie przesuń mapę do 0.

Poniższy przykład pokazuje, jak przestawić kamerę, tak aby miasta z Vancouver i Calgary są 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;
      

Ograniczanie przesuwania w danym obszarze przez użytkownika

Te scenariusze wyznaczają granice mapy, ale użytkownik może ją przewinąć lub przesunąć które wykraczają poza te granice. Zamiast tego możesz ograniczyć do środka granic punktu centralnego mapy (celu kamery), dzięki czemu użytkownicy mogą przewijać i przesuwać tylko w tych granicach.

Na przykład aplikacja handlowa przeznaczona dla centrum handlowego lub lotniska może wprowadzić ograniczenia i przesuwać mapę do określonych granic, co umożliwia użytkownikom jej przewijanie i przesuwanie.

Aby ograniczyć przesuwanie do określonych granic, ustaw właściwość cameraTargetBounds dla: GMSMapView do obiektu GMSCoordinateBounds, który określa wymagane granice. Aby później usunąć ograniczenie, ustaw cameraTargetBounds na wartość nil.

Swift

mapView.cameraTargetBounds = bounds
      

Objective-C

mapView.cameraTargetBounds = bounds;
      

Poniższy diagram przedstawia scenariusz, w którym cel kamery to ograniczony do obszaru, który jest nieco większy niż widoczny obszar. Użytkownik może przewijanie i przesuwanie, pod warunkiem że cel kamery pozostaje w ograniczonym obszarze. krzyżyk oznacza cel kamery:

Diagram przedstawiający granice kamery, które są większe niż
      widoczny obszar.

Mapa zawsze wypełnia widoczny obszar, nawet jeśli spowoduje to obszary znajdujące się poza zdefiniowanymi granicami. Jeśli na przykład umieścisz parametr cel kamery w rogu ograniczonego obszaru, widoczne w widocznym obszarze, ale użytkownicy nie mogą przewinąć do tego obszaru. ilustruje ten scenariusz: Krzyż oznacza aparat cel:

Diagram przedstawiający cel kamery umieszczony w prawym dolnym rogu
      w obrębie granicy kamery.

Na poniższym schemacie cel kamery ma bardzo ograniczone granice, oferując użytkownicy nie będą mieli zbyt wielu możliwości przewijania ani przesuwania mapy. Krzyż oznacza cel kamery:

Diagram przedstawiający granice kamery, które są mniejsze niż
      widoczny obszar.

Ustaw minimalne lub maksymalne powiększenie

Stałe globalne kGMSMinZoomLevel i kGMSMaxZoomLevel określają minimalną i maksymalną wartość powiększenia. Domyślnie minZoom i maxZoom właściwości GMSMapView mają te stałe.

Aby ograniczyć zakres poziomów powiększenia dostępny dla mapy, ustaw wartość minimalną i maksymalną poziom powiększenia. Ten kod ogranicza poziom powiększenia od 10 do 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:. jednak Ty może odczytywać bieżące wartości za pomocą właściwości minZoom i maxZoom. Ten jest przydatne, gdy ograniczasz tylko jedną z wartości. Następujący kod: zmienia jedynie minimalny poziom powiększenia.

Swift

mapView.setMinZoom(12, maxZoom: mapView.maxZoom)
      

Objective-C

[mapView setMinZoom:12 maxZoom:mapView.maxZoom];
      

Jeśli po zaktualizowaniu powiększenia minimalnego i maksymalnego poziom powiększenia w kamerze zostanie ustawiony na spoza nowego zakresu, obecne powiększenie automatycznie zmieni się na wyświetlać najbliższą prawidłową wartość. Na przykład w poniższym kodzie Powiększenie początkowe jest zdefiniowane jako 4. Jeśli później ustawisz zakres powiększenia na 10–15, Bieżące powiększenie zostało 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];