您已全部設定完成!

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

啟用 Google Places API for Android

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

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

目前地點

您可以使用 Google Places API for Android 來探索裝置目前所在位置的地點。也就是裝置目前回報位置的地點。地點的範例包括本地商家、搜尋點和地理位置。

權限

如果您的應用程式使用 PlaceDetectionApi.getCurrentPlace(),就必須要求 ACCESS_FINE_LOCATION 權限。

Android 6.0 Marshmallow 中的新權限模型



Android 6.0 Marshmallow 引進新的權限處理模型,簡化使用者安裝及升級應用程式的程序。假設您使用 8.1 版或更新的 Google Play 服務,您可以設定您的應用程式以使用 Android 6.0 Marshmallow SDK 做為目標,並使用新的權限模型。

如果您的應用程式支援新的權限模型,則使用者安裝或升級應用程式時,不需要授予任何權限。反之,當應用程式在執行階段需要權限時,則必須要求權限,而且系統會對使用者顯示要求權限的對話方塊。

如果要深入了解,請參閱 Android 6.0 Marshmallow 以及必須針對新的權限模型為您的應用程式所做的變更之相關文件。

使用限制

使用 PlaceDetectionApi.getCurrentPlace() 方法時需受分層查詢限制規範。請參閱有關使用限制的文件。

取得目前位置

如果要尋找裝置目前所在位置的本地商家或其他地點,請呼叫 PlaceDetectionApi.getCurrentPlace()

您可以選擇性指定 PlaceFilter 將結果限制為一或多個地點 ID(最多 10 個),或者只選取目前公開的地點。如果未指定任何篩選,就不會篩選結果。

API 會在 PendingResult 中傳回 PlaceLikelihoodBufferPlaceLikelihoodBuffer 包含代表可能地點的 PlaceLikelihood 物件清單。針對每個地點,結果都會包括一個表示該地點是正確地點的可能性指示。如果沒有任何已知的地點對應到篩選條件,緩衝區可能會是空的。

您可以呼叫 PlaceLikelihood.getPlace() 以擷取 Place 物件,以及呼叫 PlaceLikelihood.getLikelihood() 以取得地點的可能性評分。值越高表示該地點符合程度越高。

下列程式碼範例擷取裝置最可能出現位置的地點清單,並且記錄每個地點的名稱和可能性。

PendingResult<PlaceLikelihoodBuffer> result = Places.PlaceDetectionApi
    .getCurrentPlace(mGoogleApiClient, null);
result.setResultCallback(new ResultCallback<PlaceLikelihoodBuffer>() {
  @Override
  public void onResult(PlaceLikelihoodBuffer likelyPlaces) {
    for (PlaceLikelihood placeLikelihood : likelyPlaces) {
      Log.i(TAG, String.format("Place '%s' has likelihood: %g",
          placeLikelihood.getPlace().getName(),
          placeLikelihood.getLikelihood()));
    }
    likelyPlaces.release();
  }
});

下列是有關可能性值的注意事項:

  • 可能性提供的是對於單一要求,在所傳回的地點清單中,該地點是最符合項目的相對機率。您無法比較不同要求之間的可能性。
  • 可能性的值將會介於 0 到 1.0 之間。
  • 在指定 PlaceLikelihoodBuffer 中的可能性加總一律都會小於或等於 1.0。請注意,加總不一定會是 1.0。

例如,如果要表示「地方資訊 A」有 55% 的可能性為正確的地點,「地方資訊 B」則有 35% 的可能性,則 PlaceLikelihoodBuffer 會有兩個成員,「地點 A」的可能性為 0.55,「地點 B」的可能性為 0.35。

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

當您的應用程式顯示從 PlaceDetectionApi.getCurrentPlace() 所取得的資訊時,應用程式也必須顯示資料引用標示。請參閱有關資料引用標示的文件。

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

這個網頁
location_on
Google Places API for Android