使用地點介面集服務和 Geocoding API 搭配界線資料導向樣式

選取平台: Android iOS JavaScript

您可以使用地點介面集服務,並使用 搭配使用 Geocoding API 和 Maps SDK for Android 來搜尋區域,以及 取得更多地點的相關資訊。Places 服務和 Geocoding API 是功能強大且穩定的替代方案,可用於取得地點 ID。如果您已在使用地點 ID,就能透過界線資料導向樣式重複使用這些 ID。

如要將 Places 服務和 Geocoding 新增至 Maps SDK for Android 應用程式,請按照下列步驟操作:

使用 Places 服務

使用 Text Search (新版) 尋找地點 ID

您可以使用 Places API 中的 Text Search (新版) REST API,在欄位遮罩中指定 places.id,取得包含區域資料的地點 ID。如果僅使用 Text Search (新版) API 要求地點 ID,就不會產生任何費用。瞭解詳情

舉例來說,如要取得加州千里達的地點 ID,您可以發出下列 API 呼叫:

curl -X POST -d '{
  "textQuery" : "Trinidad, CA"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id' \
'https://places.googleapis.com/v1/places:searchText'

使用 Places Autocomplete 尋找區域

Place Autocomplete Places SDK for Android 中的服務可讓您以簡便的方式 您的使用者搜尋區域。如何設定 Places Autocomplete 服務 只傳回區域,請使用 AutocompleteSupportFragment.setTypesFilter(List) 將類型篩選器設為 PlaceTypes.REGIONS

取得區域的地點詳細資料

Place Details Places SDK for Android 中的服務傳回一個區域的資料 非常實用例如,您可以:

  • 根據地點名稱搜尋界線地點 ID。
  • 取得可視區域以縮放至界線。
  • 取得界線的地圖項目類型 (例如 locality)。
  • 取得格式化地址,該地址會解析為「Place Name, State, Country」英吋 美國地區 (例如「歐特姆瓦, IA, 美國」)。
  • 取得相片等其他實用資料。

使用 Geocoding API

您可以使用 Geocoding API 將地址轉換為經緯度座標和地點 ID,或將經緯度座標或地點 ID 轉換為地址。以下應用實例適合搭配界線資料導向樣式:

  • 透過地理編碼取得區域的可視區域。
  • 針對地理編碼呼叫進行元件篩選,取得行政區 1 到 4、縣市或郵遞區號的地點 ID。
  • 透過反向地理編碼,按經緯度座標尋找地點 ID,甚至是針對特定位置的所有元件傳回地點 ID。

以下範例使用位址 (網址逸出) 向 Geocoding API:

https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEY

您可以使用反向地理編碼 才能找出地點 ID地理編碼範例如下 service 函式會傳回位於 指定的經緯度座標:

https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY

搭配元件篩選使用反向地理編碼取得地址元件 指定位置則為以下一或多種類型:

  • administrativeArea
  • country
  • locality
  • postalCode

下一個函式範例說明如何使用地理編碼服務,透過反向地理編碼加入元件限制,取得指定位置上的所有地址元件 (僅限 locality 類型):

https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY