您已全部設定完成!

若要開始開發,請參閱我們的開發人員文件

啟用 Google Places API for iOS

為協助您開始,我們將先引導您使用「Google 開發人員控制台」來執行一些動作:

  1. 建立或選擇專案
  2. 啟用 Google Places API for iOS
  3. 建立適當的金鑰
繼續

地點挑選器

地點挑選器 UI 小工具

地點挑選器是一個簡單而富彈性的內建 UI 小工具,屬於 Google Places API for iOS 的一部分。

地點挑選器簡介

GMSPlacePicker 會提供 UI 對話方塊,顯示互動式地圖和附近地點的清單,包括對應到地理地址和本地商家的地點。使用者可以選擇某個地點,然後您的應用程式就可以擷取所選取之地點的詳細資料。

地點挑選器在開發您自己的 UI 小工具時提供下列優點:

  1. 使用者體驗與使用地點挑選器的其他應用程式(包括 Google 應用程式和第三方)一致。這表示您應用程式的使用者已經知道如何與地點挑選器互動。
  2. 地圖已經整合到地點挑選器。
  3. 內建輔助工具。
  4. 節省開發時間。

地點挑選器具有自動完成功能,會根據使用者搜索輸入而顯示地點預測。所有地點挑選器整合中都有此功能,因此您不需要執行額外操作即可啟用自動完成。如需自動完成的詳細資訊,請參閱地點自動完成

要求位置授權

如果您的應用程式使用地點挑選器,就必須要求使用位置服務的權限。首先,將下面的一或兩個金鑰新增到您的 Info.plist 檔案,以要求「使用時」或「一律」授權:

  • NSLocationWhenInUseUsageDescription
  • NSLocationAlwaysUsageDescription

對於地點挑選器,要求「使用時」授權即已足夠,但您可以為應用程式中的其他功能要求「一律」授權。對於每個金鑰,新增字串以通知使用者為何您需要位置服務。例如:

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

新增地點挑選器

下面的程式碼片段示範如何建立 GMSPlacePicker (以雪梨做為中心顯示),並輸出所挑選地點的詳細資料。

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");
}

如上述程式碼範例所示,您可以使用給定的設定使用 GMSPlacePickerConfig 物件來初始化地點挑選器。在設定物件中,指定 viewport,其中包含 GMSCoordinateBounds 物件(此物件定義地點挑選器的地圖必須顯示的起始矩形區域)。

呼叫 GMSPlacePicker.pickPlaceWithCallback(_:) 以顯示會提示使用者選取地點的地點挑選器對話方塊。

當使用者選取地點時,您的應用程式會收到對您在 pickPlaceWithCallback(_:) 中提供之方法的回呼。回呼是使用選擇的地點呼叫,或者如果使用者為選擇地點則為空值。

在應用程式中顯示資料引用標示

當您的應用程式顯示透過地點挑選器所取得的資訊時,應用程式也必須顯示資料引用標示。請參閱有關資料引用標示的文件。

傳送您對下列選項的寶貴意見...

這個網頁
location_on
Google Places API for iOS