Mapy są reprezentowane w interfejsie API przez klasę GMSMapView
, która jest podklasą klasy UIView
. Mapa jest najistotniejszym obiektem w pakiecie Maps SDK na iOS i zawiera niezbędne metody dodawania i usuwania innych obiektów, takich jak znaczniki i linie łamane, oraz zarządzania nimi.
Wprowadzenie
Pakiet Maps SDK na iOS umożliwia wyświetlanie mapy Google w aplikacji na iOS. Wygląd tych map jest taki sam jak w aplikacji Mapy Google na iOS, a pakiet SDK udostępnia wiele takich samych funkcji.
Oprócz funkcji mapowania interfejs API obsługuje też różne interakcje zgodne z modelem interfejsu użytkownika iOS. Możesz na przykład skonfigurować interakcje z mapą, definiując elementy reagujące na gesty użytkownika, takie jak kliknięcie i podwójne kliknięcie.
Kluczowa klasa podczas pracy z obiektem Map to klasa GMSMapView
.
GMSMapView
obsługuje automatycznie te operacje:
- Łączenie z usługą Mapy Google.
- Pobieranie elementów mapy.
- wyświetlanie kafelków 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 i powiększanie lub pomniejszanie widoku;
- Reagowanie na gesty 2 palcami przez pochylenie kąta widzenia mapy.
Oprócz tych automatycznych operacji możesz kontrolować działanie i wygląd mapy za pomocą właściwości i metod udostępnionych przez klasę GMSMapView
. GMSMapView
umożliwia dodawanie i usuwanie znaczników, nakładek naziemnych oraz linii złożonych, zmianę typu wyświetlanej mapy oraz kontrolowanie tego, co jest na niej widoczne, za pomocą klasy GMSCameraPosition
.
Tworzenie map za pomocą SwiftUI
SwiftUI oferuje dodatkowy sposób tworzenia interfejsu użytkownika za pomocą podejścia deklaratywnego. Musisz tylko określić, jak ma wyglądać widok i jakie ma mieć stany, a system zrobi resztę. SwiftUI aktualizuje widok, gdy stan podstawowy ulega zmianie z powodu zdarzenia lub działania użytkownika.
Pakiet SDK Map na iOS jest oparty na UIKit
i nie zapewnia widoku zgodnego z SwiftUI. Dodawanie map w SwiftUI wymaga stosowania się do standardów UIViewRepresentable
lub UIViewControllerRepresentable
. Więcej informacji znajdziesz w Codelab Dodawanie mapy do aplikacji na iOS za pomocą SwiftUI.
Dodawanie mapy
Podstawowe kroki, które należy wykonać, aby dodać mapę:
Aby pobrać pakiet SDK, uzyskać klucz interfejsu API i dodać wymagane platformy, wykonaj te czynności:
W pliku
AppDelegate
podaj klucz interfejsu API w metodzie klasyprovideAPIKey:
w plikuGMSServices
.Utwórz lub zaktualizuj
ViewController
. Jeśli mapa jest wyświetlana, gdy kontroler widoku staje się widoczny, utwórz go w ramach metodyviewDidLoad
.Podczas inicjowania widoku mapy ustaw opcje konfiguracji za pomocą elementu
GMSMapViewOptions
. Właściwości obejmująframe
,camera
,mapID
,backgroundColor
lubscreen
.Ustaw właściwość
camera
opcji mapy za pomocą obiektuGMSCameraPosition
. Określa położenie środka i poziom powiększenia mapy.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żna użyć opcji mapyframe
o wartości domyślnejCGRectZero
– rozmiar mapy jest zmieniany automatycznie.Ustaw obiekt
GMSMapView
jako widok kontrolera widoku. Na przykład:self.view = mapView;
.
W tym przykładzie do aplikacji dodawana jest mapa z centrum Singapuru w środku.
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 dostosować obiekt GMSMapView
.
Co dalej?
Po wykonaniu tych czynności możesz skonfigurować ustawienia mapy.