Dodawanie mapy

Wybierz platformę: Android iOS JavaScript

Mapy są reprezentowane w interfejsie API przez klasę GMSMapView, podklasa UIView. Mapa jest najważniejszym obiektem na Maps SDK na iOS oraz niezbędne metody dodawania i usuwania oraz zarządzanie innymi obiektami, takimi jak znaczniki i linie łamane.

Wprowadzenie

Maps SDK na iOS pozwala wyświetlać mapę Google aplikacji na iOS. Te mapy mają taki sam wygląd jak mapy, które widzisz Mapy Google Aplikacja na iOS oraz pakiet SDK zapewniają wiele tych samych funkcji.

Oprócz funkcji mapowania interfejs API obsługuje również szereg które są zgodne z modelem interfejsu iOS. Możesz na przykład ustawić interakcje z mapą przez definiowanie użytkowników, którzy reagują na gesty użytkowników, np. dwukrotne kliknię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 dwoma palcami przez przechylanie mapy.

Oprócz tych automatycznych operacji możesz kontrolować działanie przy użyciu właściwości i metod udostępnianych przez GMSMapView zajęcia. GMSMapView umożliwia dodawanie i usuwanie znaczników, terenu nakładek i linii łamanych, zmienić typ wyświetlanej mapy co widać na mapie w GMSCameraPosition zajęcia.

Twórz mapy za pomocą SwiftUI

SwiftUI oferuje dodatkowy sposób tworzenia UI przy użyciu podejścia deklaratywnego. Ty określ, jak ma wyglądać widok w SwiftUI i z różnych stanów. a system zajmie się resztą. SwiftUI obsługuje aktualizowanie widoku za każdym razem, określony stan zmienia się w wyniku zdarzenia lub działania użytkownika.

Maps SDK na iOS jest oparty na platformie UIKit i nie zapewnia Widok zgodny z SwiftUI. Dodawanie map w SwiftUI wymaga spełnienia UIViewRepresentable lub UIViewControllerRepresentable. Aby dowiedzieć się więcej, przeczytaj Ćwiczenia z programowania dodawanie mapy do aplikacji na iOS za pomocą SwiftUI.

Dodawanie mapy

Podstawowe kroki, które należy wykonać, aby dodać mapę:

  1. Aby pobrać pakiet SDK, uzyskaj klucz interfejsu API i dodaj wymagane platformy, wykonaj kroki w dalszej części tego procesu:

    1. Skonfiguruj w konsoli Google Cloud

    2. Używanie klucza interfejsu API

    3. Konfigurowanie projektu Xcode

    4. W AppDelegate podaj klucz interfejsu API provideAPIKey:. na GMSServices.

    5. Utwórz lub zaktualizuj ViewController. Jeśli mapa jest wyświetlana, gdy kontroler widoku danych stanie się widoczny, pamiętaj, aby utworzyć go w Metoda viewDidLoad.

    6. Podczas inicjowania widoku mapy ustaw opcje konfiguracji za pomocą GMSMapViewOptions Właściwości: frame, camera, mapID,backgroundColor lub screen.

    7. Ustaw właściwość camera opcji mapy za pomocą parametru GMSCameraPosition obiekt. Określa środkowy i poziom powiększenia mapę.

    8. Utwórz i utwórz instancję klasy GMSMapView za pomocą interfejsu GMSMapView Metoda options:. Jeśli ta mapa ma być używana jako tylko wyświetlanie, domyślną wartością opcji mapy frame CGRectZero może być używana jako widok frame — rozmiar mapy jest automatycznie zmieniany.

    9. 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 dodatkowo skonfigurować GMSMapView obiektu.

Co dalej?

Po wykonaniu tych czynności możesz skonfigurować mapę ustawieniach.