Mapy są reprezentowane w interfejsie API przez klasę GMSMapView
, która jest podklaską UIView
. Mapa to najważniejszy obiekt w pakiecie SDK do Map na iOS, który pozwala dodawać, usuwać i zarządzać innymi obiektami, takimi jak znaczniki czy linie łamane.
Wprowadzenie
Maps SDK na iOS umożliwia wyświetlanie mapy Google w Twojej aplikacji. Mapy te wyglądają tak samo jak je wyświetlane w aplikacji Mapy Google na iOS. Pakiet SDK udostępnia wiele tych samych funkcji.
Oprócz funkcji mapowania interfejs API obsługuje także inne interakcje zgodne z modelem interfejsu iOS. Możesz na przykład skonfigurować interakcje z mapą, definiując użytkowników, którzy reagują na gesty użytkowników, takich jak dwukrotne dotknięcie i kliknięcie.
Klasa klucza podczas pracy z obiektem Map to klasa GMSMapView
.
GMSMapView
automatycznie obsługuje te operacje:
- Łączę z usługą Mapy 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 przesunięcia i powiększenia przez przesunięcie mapy oraz jej powiększenie lub pomniejszenie.
- Reakcja na gest 2 palców przechylający kąt patrzenia mapy.
Oprócz tych operacji automatycznych możesz kontrolować działanie i wygląd mapy za pomocą właściwości i metod dostępnych w klasie GMSMapView
. GMSMapView
pozwala dodawać i usuwać znaczniki, nakładki na teren oraz linie łamane, zmieniać typ wyświetlanej mapy i kontrolować to, co jest na niej wyświetlane, za pomocą klasy GMSCameraPosition
.
Twórz mapy za pomocą SwiftUI
SwiftUI to kolejny sposób na tworzenie interfejsu z deklaratywną metodą. Możesz określić, jak SwiftUI ma wyglądać wraz ze wszystkimi różnymi stanami, a system zajmie się resztą. SwiftUI aktualizuje widok po każdej zmianie stanu wywołanej zdarzeniem lub działaniem użytkownika.
Maps SDK na iOS to platforma UIKit
, która nie zapewnia jeszcze widoku zgodnego ze SwiftUI. Dodanie map w narzędziu SwiftUI wymaga zgodności z zasadami UIViewRepresentable
lub UIViewControllerRepresentable
. Więcej informacji znajdziesz w ćwiczeniach z programowania dotyczącym dodawania mapy do aplikacji na iOS za pomocą SwiftUI.
Dodawanie mapy
Podstawowe czynności przy dodawaniu mapy:
Aby uzyskać pakiet SDK, uzyskaj klucz interfejsu API i dodaj wymagane platformy, wykonaj te czynności:
W pliku
AppDelegate
w interfejsieGMSServices
podaj klucz interfejsu API metody metodyprovideAPIKey:
.Utwórz lub zaktualizuj element
ViewController
. Jeśli mapa będzie widoczna, gdy kontroler widoku stanie się widoczny, pamiętaj, aby utworzyć go w metodzieloadView
.Utwórz obiekt
GMSCameraPosition
, który określa środek i poziom powiększenia mapy. Gdy tworzysz wystąpienie obiektuGMSMapView
, musisz przekazać obiektGMSCameraPosition
jako wymagany parametr.Utwórz klasę
GMSMapView
i utwórz jej instancję przy użyciu metodyGMSMapView
mapWithFrame:
. Jeśli mapa ma być używana jako jedyny kontroler widoku, jako ramki mapy można użyćCGRectZero
. Rozmiar mapy zostanie automatycznie zmieniony.Ustaw obiekt
GMSMapView
jako widok kontrolera danych, np.self.view = mapView;
.
Poniższy przykład dodaje mapę wyśrodkowaną na centrum Singapuru w aplikacji.
Swift
import GoogleMaps class MapObjects : UIViewController { override func viewDidLoad() { super.viewDidLoad() let camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12) let mapView = GMSMapView(frame: .zero, camera: camera) self.view = mapView } }
Objective-C
#import "MapObjects.h" @import GoogleMaps; @implementation MapObjects - (void)viewDidLoad { [super viewDidLoad]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; self.view = mapView; } @end
Po wykonaniu tych czynności możesz jeszcze bardziej skonfigurować obiekt GMSMapView
.
Co dalej?
Po wykonaniu tych czynności możesz skonfigurować ustawienia mapy.