Es kann losgehen!

Bevor Sie mit der Entwicklung beginnen, lesen Sie bitte unsere Entwicklerdokumentation.

Die Google Places API for iOS aktivieren

Zum Einstieg führen wir Sie durch die Google Developers Console, wo Sie vorab Folgendes tun müssen:

  1. Ein Projekt erstellen oder auswählen
  2. Die Google Places API for iOS aktivieren
  3. Zugehörige Schlüssel erstellen
Weiter

Ortsauswahl

Ortsauswahl-UI-Widget

Bei der Ortsauswahl handelt es sich um ein einfaches und doch flexibles, integriertes UI-Widget als Teil von Google Places API for iOS.

Einführung in die Ortsauswahl

GMSPlacePicker stellt ein Dialogfeld auf der Benutzeroberfläche bereit, das eine interaktive Karte und eine Liste der ungefähren Orte anzeigt, einschließlich der Orte, die geografischen Adressen und lokalen Unternehmen entsprechen. Der Benutzer wählt einen Ort aus, und Ihre App kann dann Daten zum ausgewählten Ort abrufen.

Die Ortsauswahl bietet folgende Vorteile gegenüber der Entwicklung eines eigenen UI-Widgets:

  1. Die Bedienerfreundlichkeit ähnelt der anderer Apps, die die Ortswahl einsetzen, wie beispielsweise Google-Apps und Apps von Drittanbietern. Das bedeutet, die Benutzer Ihrer App kennen sich bereits intuitiv mit der Ortsauswahl aus.
  2. Die Karte ist in die Ortsauswahl integriert.
  3. Barrierefreiheit ist integriert.
  4. Sie spart Entwicklungszeit ein.

Die Ortsauswahl nutzt die Funktion zur automatischen Vervollständigung, die Ortsvorschläge basierend auf der Nutzereingabe bei der Suche anzeigt. Diese Funktion ist in allen Integrationen der Ortsauswahl vorhanden. Sie müssen also keine zusätzlichen Maßnahmen ergreifen, um die automatische Vervollständigung zu aktivieren. Weitere Informationen dazu finden Sie unter Orte automatisch vervollständigen.

Standortautorisierung anfordern

Wenn Ihre App die Ortsauswahl verwendet, müssen Sie die Genehmigung anfordern, Ortsdienste zu nutzen. Fügen Sie zunächst mindestens einen Schlüssel zur Datei Info.plist hinzu, um die Autorisierung „Bei Verwendung“ oder „Immer“ anzufordern:

  • NSLocationWhenInUseUsageDescription
  • NSLocationAlwaysUsageDescription

Für die Ortsauswahl reicht es, die Autorisierung „Bei Verwendung“ anzufordern. Aber Sie möchten möglicherweise die Autorisierung „Immer“ für weitere Funktionen in Ihrer App haben. Fügen Sie für jeden Schlüssel eine Zeichenfolge hinzu, die den Benutzer darüber informiert, warum Sie die Ortsdienste benötigen. Beispiel:

<key>NSLocationWhenInUseUsageDescription</key>
<string>Show your location on the map</string>

Ortsauswahl hinzufügen

Der Codeausschnitt unten zeigt, wie Sie GMSPlacePicker für Sydney erstellen und Informationen zum ausgewählten Ort ausgeben.

Swift

// The code snippet below shows how to create and display a GMSPlacePickerViewController.
@IBAction func pickPlace(_ sender: UIButton) {
  let config = GMSPlacePickerConfig(viewport: nil)
  let placePicker = GMSPlacePickerViewController(config: config)

  present(placePicker, animated: true, completion: nil)
}

// To receive the results from the place picker 'self' will need to conform to
// GMSPlacePickerViewControllerDelegate and implement this code.
func placePicker(_ viewController: GMSPlacePickerViewController, didPick place: GMSPlace) {
  // Dismiss the place picker, as it cannot dismiss itself.
  viewController.dismiss(animated: true, completion: nil)

  print("Place name \(place.name)")
  print("Place address \(place.formattedAddress)")
  print("Place attributions \(place.attributions)")
}

func placePickerDidCancel(_ viewController: GMSPlacePickerViewController) {
  // Dismiss the place picker, as it cannot dismiss itself.
  viewController.dismiss(animated: true, completion: nil)

  print("No place selected")
}

Objective-C

// The code snippet below shows how to create and display a GMSPlacePickerViewController.
- (IBAction)pickPlace:(UIButton *)sender {
  GMSPlacePickerConfig *config = [[GMSPlacePickerConfig alloc] initWithViewport:nil];
  GMSPlacePickerViewController *placePicker =
    [[GMSPlacePickerViewController alloc] initWithConfig:config];
  placePicker.delegate = self;

  [self presentViewController:placePicker animated:YES completion:nil];
}

// To receive the results from the place picker 'self' will need to conform to
// GMSPlacePickerViewControllerDelegate and implement this code.
- (void)placePicker:(GMSPlacePickerViewController *)viewController didPickPlace:(GMSPlace *)place {
  // Dismiss the place picker, as it cannot dismiss itself.
  [viewController dismissViewControllerAnimated:YES completion:nil];

  NSLog(@"Place name %@", place.name);
  NSLog(@"Place address %@", place.formattedAddress);
  NSLog(@"Place attributions %@", place.attributions.string);
}

- (void)placePickerDidCancel:(GMSPlacePickerViewController *)viewController {
  // Dismiss the place picker, as it cannot dismiss itself.
  [viewController dismissViewControllerAnimated:YES completion:nil];

  NSLog(@"No place selected");
}

Wie im obigen Codeausschnitt gezeigt, können Sie die Ortsauswahl mit einer vorgegebenen Konfiguration mithilfe des Objekts GMSPlacePickerConfig initialisieren. Geben Sie im Konfigurationsobjekt einen viewport an, der das Objekt GMSCoordinateBounds enthält, welches das ursprüngliche rechteckige Gebiet definiert, das in der Ortsauswahlkarte angezeigt werden soll.

Rufen Sie GMSPlacePicker.pickPlaceWithCallback(_:) auf, um das Ortsauswahldialogfeld anzuzeigen. Damit wird der Nutzer aufgefordert, einen Ort auszuwählen.

Wählt der Nutzer einen Ort, erhält Ihre App einen Callback für die in pickPlaceWithCallback(_:) bereitgestellte Methode. Der aufgerufene Callback ist der ausgewählte Ort bzw. ist null, wenn der Benutzer keinen Ort auswählt.

Zuordnungen in der App anzeigen

Wenn Ihre App Informationen anzeigt, die anhand der Ortsauswahl ermittelt wurden, muss Ihre App auch Zuordnungen anzeigen. Weitere Informationen dazu finden Sie in der Dokumentation zu Zuordnungen.

Feedback geben zu...

location_on
Google Places API for iOS