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](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/android-sdk/images/camera.png?authuser=9&hl=pl)
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ą.
![]() |
![]() |
Na poniższych obrazach kąt patrzenia wynosi 45 stopni. Zwróć uwagę, że kamera porusza się do połowy ł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.
![]() |
![]() |
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
![]() |
![]() |
![]() |
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:
izoomOut:
- 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:
- Oblicz wartość
GMSCoordinateBounds
, którą chcesz uzyskać muszą być widoczne na ekranie. - Użyj metody
cameraForBounds:insets:
GMSMapView
, aby zwrócić nowyGMSCameraPosition
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.](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/ios-sdk/images/latlngbounds-camera1.png?authuser=9&hl=pl)
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.](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/ios-sdk/images/latlngbounds-camera2.png?authuser=9&hl=pl)
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.](https://developers-dot-devsite-v2-prod.appspot.com/static/maps/documentation/ios-sdk/images/latlngbounds-camera3.png?authuser=9&hl=pl)
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];