Mapy są reprezentowane w interfejsie API przez klasę GMSMapView
, która jest podklasą klasy UIView
. Mapa jest najważniejszym obiektem w pakiecie Maps SDK na iOS, który zapewnia 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 map wyświetlanych w aplikacji Mapy Google na iOS, a pakiet SDK udostępnia wiele tych samych funkcji.
Oprócz funkcji mapowania interfejs API obsługuje też szereg interakcji zgodnych 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 dwukrotne kliknięcie.
Główną klasą podczas pracy z obiektem Map jest klasa GMSMapView
.
GMSMapView
automatycznie obsługuje te operacje:
- Łączenie z usługą Map Google.
- Pobieranie kafelkó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 poprzez przesuwanie mapy oraz powiększanie i pomniejszanie widoku.
- reagowanie na gesty dwoma palcami poprzez zmianę kąta widzenia mapy;
Oprócz tych automatycznych operacji możesz kontrolować zachowanie i wygląd mapy za pomocą właściwości i metod udostępnianych przez klasę GMSMapView
. Używaj ikony GMSMapView
, aby dodawać i usuwać znaczniki, nakładki na ziemię i linie łamane, zmieniać typ wyświetlanej mapy oraz kontrolować, co jest na niej widoczne, za pomocą klasy GMSCameraPosition
.
Tworzenie map za pomocą SwiftUI
SwiftUI oferuje dodatkowy sposób tworzenia interfejsu za pomocą podejścia deklaratywnego. Mówisz SwiftUI, jak ma wyglądać widok, oraz podajesz wszystkie jego stany, a system zajmuje się resztą. SwiftUI aktualizuje widok za każdym razem, gdy stan bazowy zmienia się w wyniku zdarzenia lub działania użytkownika.
Pakiet Maps SDK na iOS jest oparty na UIKit
i nie udostępnia widoku zgodnego z SwiftUI. Dodawanie map w SwiftUI wymaga zgodności z protokołem UIViewRepresentable
lub UIViewControllerRepresentable
. Więcej informacji znajdziesz w samouczku Dodawanie mapy do aplikacji na iOS za pomocą SwiftUI.
Dodawanie mapy
Podstawowe kroki dodawania mapy:
Aby pobrać pakiet SDK, uzyskać klucz interfejsu API i dodać wymagane platformy, wykonaj czynności opisane w tych artykułach:
W
AppDelegate
podaj klucz interfejsu API do metody klasyprovideAPIKey:
wGMSServices
.Utwórz lub zaktualizuj
ViewController
. Jeśli mapa jest wyświetlana, gdy ten kontroler widoku staje się widoczny, utwórz ją w metodzieviewDidLoad
.Podczas inicjowania widoku mapy ustaw opcje konfiguracji za pomocą parametru
GMSMapViewOptions
. Właściwości obejmująframe
,camera
,mapID
,backgroundColor
lubscreen
.Ustaw właściwość opcji mapy
camera
za pomocą obiektuGMSCameraPosition
. Określa środek i poziom powiększenia mapy.Utwórz instancję klasy
GMSMapView
za pomocą metodyGMSMapView
options:
. Jeśli ta mapa ma być jedynym widokiem kontrolera widoku, opcja mapyframe
o wartości domyślnejCGRectZero
może być używana jako widokframe
– rozmiar mapy jest automatycznie zmieniany.Ustaw obiekt
GMSMapView
jako widok kontrolera widoku. Na przykład:self.view = mapView;
.
W przykładzie poniżej do aplikacji dodano mapę, której środek znajduje się w 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 dalej konfigurować GMSMapView
obiekt.
Co dalej?
Po wykonaniu tych czynności możesz skonfigurować ustawienia mapy.