Mapy są reprezentowane w interfejsie API przez klasę GMSMapView
, podklasę UIView
. Mapa jest najważniejszym obiektem w pakiecie Maps SDK na iOS i zapewnia niezbędne metody dodawania i usuwania innych obiektów, takich jak znaczniki i linie łamane, oraz zarządzania nimi.
Wstęp
Maps SDK na iOS pozwala wyświetlać mapę Google w aplikacji na iOS. Mają one taki sam wygląd jak mapy w aplikacji Mapy Google na iOS, a pakiet SDK udostępnia wiele tych samych funkcji.
Oprócz funkcji mapowania interfejs API obsługuje również zakres interakcji, które są zgodne z modelem interfejsu iOS. Możesz np. skonfigurować interakcje z mapą, definiując użytkowników, którzy reagują na gesty użytkowników, takie jak klikanie i dwukrotne dotknięcie.
Klasa klucza podczas pracy z obiektem Map to klasa GMSMapView
.
GMSMapView
automatycznie obsługuje te operacje:
- Łączę z usługą Mapy Google.
- Pobieram fragmenty mapy.
- Wyświetlam kafelki na ekranie urządzenia.
- Wyświetlanie różnych elementów sterujących, takich jak przesuwanie i powiększanie.
- Reagowanie na gesty przesuwania i powiększania przez przesuwanie mapy oraz powiększanie i pomniejszanie.
- Reagowanie na gesty 2 palcami przez przechylanie mapy.
Oprócz tych automatycznych operacji możesz kontrolować działanie i wygląd mapy za pomocą właściwości i metod udostępnianych przez klasę GMSMapView
. GMSMapView
umożliwia dodawanie i usuwanie znaczników, nakładek na powierzchni i linii łamanych, zmienianie typu wyświetlanej mapy i kontrolowania tego, co jest widoczne na mapie, za pomocą klasy GMSCameraPosition
.
Twórz mapy za pomocą SwiftUI
SwiftUI oferuje dodatkowy sposób tworzenia UI za pomocą metody deklaratywnej. Określisz w SwiftUI, jak ma wyglądać widok i jego stany, a system zajmuje się resztą. SwiftUI zajmuje się aktualizowaniem widoku za każdym razem, gdy zmieni się podstawowy stan w wyniku zdarzenia lub działania użytkownika.
Maps SDK na iOS opiera się na platformie UIKit
i nie zapewnia widoku zgodnego z SwiftUI. Dodawanie map w SwiftUI wymaga spełnienia wymagań UIViewRepresentable
lub UIViewControllerRepresentable
. Więcej informacji znajdziesz w ćwiczeniach z programowania na temat dodawania mapy do aplikacji na iOS za pomocą SwiftUI.
Dodawanie mapy
Podstawowe kroki, które należy wykonać, aby dodać mapę:
Aby pobrać pakiet SDK, uzyskaj klucz interfejsu API i dodaj wymagane platformy, wykonaj te czynności:
W
AppDelegate
podaj klucz interfejsu API dla metody klasyprovideAPIKey:
wGMSServices
.Utwórz lub zaktualizuj
ViewController
. Jeśli mapa jest wyświetlana, gdy ten kontroler widoku danych staje się widoczny, utwórz ją w metodzieviewDidLoad
.Podczas inicjowania widoku mapy ustaw opcje konfiguracji za pomocą
GMSMapViewOptions
. Do usług należąframe
,camera
,mapID
,backgroundColor
iscreen
.Ustaw właściwość
camera
opcji mapy za pomocą obiektuGMSCameraPosition
. To ustawienie określa środkowy i poziom powiększenia mapy.Utwórz i utwórz instancję klasy
GMSMapView
za pomocą metodyGMSMapView
options:
. Jeśli ta mapa ma być używana jako jedyny widok kontrolera widoku, jako widokframe
może być używana domyślna wartośćCGRectZero
opcji mapyframe
– rozmiar mapy jest zmieniany automatycznie.Ustaw obiekt
GMSMapView
jako widok kontrolera widoku. Przykład:self.view = mapView;
.
W poniższym przykładzie dodaje się do aplikacji mapę wyśrodkowaną na centrum Singapuru.
Swift
import GoogleMaps class MapObjects : UIViewController { override func viewDidLoad() { super.viewDidLoad() let options = GMSMapViewOptions() options.camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12) options.frame = self.view.bounds; let mapView = GMSMapView(options:options) self.view = mapView } }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; self.view = mapView; }
Po wykonaniu tych czynności możesz jeszcze bardziej skonfigurować obiekt GMSMapView
.
Co dalej?
Po wykonaniu tych czynności możesz skonfigurować ustawienia mapy.