Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Dodawanie mapy za pomocą znacznika

W tym samouczku pokazujemy, jak dodać mapę Google do aplikacji na iOS. Zawiera ona znacznik, zwany też pinezką, który wskazuje konkretną lokalizację.

Pobieranie kodu

Skopiuj lub pobierz repozytorium przykładowych Map Google na iOS z GitHuba.

Konfigurowanie projektu programistycznego

Aby zainstalować Maps SDK na iOS, wykonaj te czynności:

  1. Pobierz i zainstaluj Xcode w wersji 13.0 lub nowszej.
  2. Jeśli nie masz jeszcze CocoaPods, zainstaluj go w systemie macOS, uruchamiając w terminalu to polecenie:
    sudo gem install cocoapods
  3. Skopiuj lub pobierz przykładowe repozytorium Map Google na iOS.
  4. Przejdź do katalogu tutorials/map-with-marker.
  5. Uruchom polecenie pod install. Spowoduje to zainstalowanie interfejsów API określonych w zasadzie Podfile oraz wszystkich ich zależności.
  6. Uruchom pod outdated, aby porównać zainstalowaną wersję poda z nowymi aktualizacjami. W przypadku wykrycia nowej wersji uruchom pod update, aby zaktualizować Podfile i zainstalować najnowszy pakiet SDK. Więcej informacji znajdziesz w przewodniku po CocoaPods.
  7. Otwórz (lub kliknij dwukrotnie) plik map-with-marker.xcworkspace projektu, aby otworzyć go w Xcode. Aby otworzyć projekt, musisz użyć pliku .xcworkspace.

Uzyskiwanie klucza interfejsu API i włączanie niezbędnych interfejsów API

Aby ukończyć ten samouczek, potrzebujesz klucza interfejsu API Google, który ma uprawnienia do korzystania z pakietu SDK Map na iOS. Kliknij przycisk poniżej, aby uzyskać klucz i aktywować interfejs API.

Rozpocznij

Więcej informacji znajdziesz w artykule na temat pobierania klucza interfejsu API.

Dodawanie klucza interfejsu API do aplikacji

Dodaj klucz interfejsu API do urządzenia AppDelegate.swift w ten sposób:

  1. Do pliku dodano następującą instrukcję importu:
    import GoogleMaps
  2. Zmodyfikuj następujący wiersz w metodzie application(_:didFinishLaunchingWithOptions:), zastępując klucz YOUR_API_KEY swoim kluczem API:
    GMSServices.provideAPIKey("YOUR_API_KEY")

Tworzenie i uruchamianie aplikacji

  1. Podłącz urządzenie z iOS do komputera lub wybierz symulator z menu Xcode.
  2. Jeśli używasz urządzenia, upewnij się, że usługi lokalizacyjne są włączone. Jeśli używasz symulatora, wybierz lokalizację z menu Funkcje.
  3. W Xcode kliknij opcję Product/Run (Produkt/uruchom) (lub ikonę przycisku odtwarzania).
    • Xcode kompiluje aplikację i uruchamia ją na urządzeniu lub w symulatorze.
    • Powinna wyświetlić się mapa ze znacznikiem wyśrodkowanym na Sydney we wschodnim wybrzeżu Australii, podobnie jak na tej stronie.

Rozwiązywanie problemów:

  • Jeśli nie widzisz mapy, sprawdź, czy masz klucz interfejsu API i został on dodany do aplikacji (w sposób opisany powyżej). Sprawdź w konsoli debugowania Xcode komunikaty o błędach związane z kluczem interfejsu API.
  • Jeśli dostęp do klucza interfejsu API został ograniczony przez identyfikator pakietu na iOS, zmień go, aby dodać identyfikator pakietu dla aplikacji: com.google.examples.map-with-marker.
  • Upewnij się, że masz dobre połączenie Wi-Fi lub GPS.
  • Użyj narzędzi do debugowania Xcode, aby wyświetlić logi i debugować aplikację.

Omówienie kodu

  1. Utwórz mapę i ustaw ją jako widok w usłudze loadView().

    Swift

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    view = mapView
          

    Objective-C

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                            longitude:151.20
                                                                 zoom:6.0];
    GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera];
    self.view = mapView;
          
  2. Dodaj znacznik na mapie w: loadView().

    Swift

    // Creates a marker in the center of the map.
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
    marker.title = "Sydney"
    marker.snippet = "Australia"
    marker.map = mapView
          

    Objective-C

    // Creates a marker in the center of the map.
    GMSMarker *marker = [[GMSMarker alloc] init];
    marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
    marker.title = @"Sydney";
    marker.snippet = @"Australia";
    marker.map = mapView;
          

Domyślnie, gdy użytkownik kliknie znacznik, pakiet SDK Map na iOS wyświetla zawartość okna informacyjnego. Nie musisz dodawać detektora kliknięć w przypadku znacznika, jeśli chcesz używać domyślnego działania.

Gratulacje! Masz utworzoną aplikację na iOS, która pokazuje mapę Google ze znacznikiem do wskazania konkretnej lokalizacji. Wiesz też, jak korzystać z pakietu SDK Map na iOS.

Dalsze kroki

Dowiedz się więcej o obiektach map i o tym, co możesz zrobić ze znacznikami.