您可以搭配使用 Maps SDK for iOS 的 Places SDK for iOS 和 Geocoding API,搜尋區域並取得地點的詳細資訊。如要取得地點 ID,可使用功能強大且穩定的替代方案:Places SDK for iOS 和 Geocoding API。如果您已使用地點 ID,可以將這些 ID 與以資料為準的邊界樣式重複使用。
在 Maps SDK for iOS 應用程式中加入 Places API 和 Geocoding API 的方法如下:
- Places SDK for iOS 會使用 HTTP 要求傳回地點資訊。
- CLGeocoder 類別可根據使用者輸入內容,動態進行地理編碼及反向地理編碼。
- Geocoding API 可讓您對已知靜態地址進行地理編碼。
使用 Places API
Places API 文字搜尋會根據字串 (例如「紐約的披薩店」或「渥太華附近的鞋店」或「123 Main Street」),傳回一組地點的相關資訊。這項服務會傳回與文字字串和任何位置自訂調整設定相符的地點清單。
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。以下範例 Geocoding 服務函式會傳回指定經緯度座標的所有地址元件的地點 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