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 i 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 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.
- Pobieram kafelki 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 oraz powiększanie lub pomniejszanie widoku.
- Reagowanie na gesty dwoma palcami przez zmianę 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ępnianych przez klasę GMSMapView. Użyj 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 ulega zmianie 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 czynności, które należy wykonać, aby dodać mapę:
Aby pobrać pakiet SDK, uzyskać klucz interfejsu API i dodać wymagane platformy, wykonaj czynności opisane w tych artykułach:
W
AppDelegatepodaj klucz interfejsu API do metody klasyprovideAPIKey:naGMSServices.Utwórz lub zaktualizuj
ViewController. Jeśli mapa jest wyświetlana, gdy ten kontroler widoku staje się widoczny, utwórz go w metodzieviewDidLoad.Podczas inicjowania widoku mapy ustaw opcje konfiguracji za pomocą elementu
GMSMapViewOptions. Właściwości obejmująframe,camera,mapID,backgroundColorlubscreen.Ustaw właściwość opcje mapy
cameraza pomocą obiektuGMSCameraPosition. Określa środek i poziom powiększenia mapy.Utwórz instancję klasy
GMSMapViewza pomocą metodyGMSMapViewoptions:. Jeśli ta mapa ma być jedynym widokiem kontrolera widoku, można użyć opcji mapyframeo wartości domyślnejCGRectZerojako widokuframe– rozmiar mapy zostanie automatycznie zmieniony.Ustaw obiekt
GMSMapViewjako widok kontrolera widoku. Na przykład:self.view = mapView;.
Poniższy przykład pokazuje, jak dodać 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 dalej konfigurować GMSMapViewobiekt.
Co dalej?
Po wykonaniu tych czynności możesz skonfigurować ustawienia mapy.