使用 Places API 和 Geocoding API 搭配界線資料導向樣式

選取平台: iOS JavaScript

您可以搭配 Maps SDK for iOS 使用 Places SDK for iOS 和 Geocoding API 來搜尋區域,並取得地點的詳細資訊。Places SDK for iOS 和 Geocoding API 是功能強大且穩定的替代方案,可用於取得地點 ID。如果您使用地點 ID,可以透過界線資料導向樣式重複使用這些 ID。

在 Maps SDK for iOS 應用程式中加入 Places SDK 和 Geocoding API 的方法如下:

  • Places SDK for iOS 會使用 HTTP 要求傳回地點相關資訊。
  • CLGeocoder 類別可以根據使用者輸入內容,動態進行地理編碼及反向地理編碼。
  • Geocoding API 可讓您對已知靜態地址進行地理編碼。

使用 Places API

  • Places API Text Search 可根據字串 (例如「臺北披薩」或「臺北披薩店」或「中正路 123 號」) 傳回一組地點的相關資訊。這項服務會傳回與文字字串和任何位置偏誤相符的地點清單。

  • Places Autocomplete 服務可讓您輕鬆讓使用者搜尋區域。如要顯示定義的區域內的結果,請在 GMSAutocompleteFilter 上設定 locationRestriction

取得區域的地點詳細資料

  • 區域的 Place Details 資料也會有效。舉例來說,您可以執行下列操作:

    • 根據地點名稱搜尋界線地點 ID。
    • 取得可視區域以縮放至界線。
    • 取得界線的地圖項目類型 (例如縣市)。
    • 取得格式化地址,該格式可解析為美國區域的「地點名稱, 州, 國家/地區」(例如「Kirkland, WA, USA」)。
    • 取得相片等其他實用資料。

使用 Geocoding API

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

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

    以下範例使用地址 (網址逸出) 向 Geocoding API 提出要求:

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

    您可以使用反向地理編碼找出地點 ID。以下地理編碼服務函式範例會傳回指定經緯度座標上所有地址元件的地點 ID:

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

    透過元件篩選使用反向地理編碼,在指定位置取得以下一或多個類型的地址元件:

    • administrativeArea
    • country
    • locality
    • postalCode
    • schoolDistrict

    下例說明如何使用地理編碼服務,透過反向地理編碼加入元件限制,以擷取指定位置的 locality 類型所有地址元件:

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