使用 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 and Geocoding API 的方法如下:

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

使用 Places API

  • Places API Text Search 可根據字串 (例如「台南魯肉飯」、「西門町附近的鞋店」或「中正路 123 號」),傳回一組地點的相關資訊。這項服務會傳回與文字字串和任何位置偏誤設定相符的地點清單。

  • Place Autocomplete 服務方便您的使用者搜尋區域。如要顯示定義區域內的結果,請在 GMSAutocompleteFilter 上設定 locationRestriction

取得區域的地點詳細資料

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

    • 根據地點名稱搜尋界線地點 ID。
    • 取得可視區域以縮放至界線。
    • 取得界線的地圖項目類型 (例如縣市)。
    • 取得格式化地址,該地址會解析為美國區域內的「Place Name, State, Country」(例如「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