您可以使用 Places SDK for iOS 和 将 Geocoding API 与 Maps SDK for iOS 搭配使用 搜索区域并获取有关地点的更多信息。通过 Places SDK for iOS 和 Geocoding API 都是功能强大且稳定的替代方案,可以让用户 ID。如果您已在使用地点功能 您可以重复使用这些 ID 来设置边界的数据驱动型样式。
您可以通过以下方式将地点和地理编码服务添加到您的 Maps SDK for iOS 应用:
- Places SDK for iOS 使用 HTTP 请求返回关于地点的信息。
- CLGeocoder 类可以根据用户输入动态地进行地理编码和反向地理编码。
- Geocoding API 可用于对静态的已知地址进行地理编码。
使用 Places API
Places API 文本 搜索退货 基于字符串(例如“北京烤鸭”)提供的关于一组地点的信息 纽约”或“南京附近的鞋店”或“长安街 123 号”。服务 以与文本字符串和任何位置相匹配的地点列表作为响应 设置偏差。
地点自动补全服务提供了一种便捷 让您的用户能够搜索区域。要在 指定区域,将
locationRestriction
设置为开启GMSAutocompleteFilter
。
获取某个区域的地点详情
地点详情数据 也会有效例如,您可以:
- 根据地点名称搜索边界地点 ID。
- 获取视口以缩放至相应边界。
- 获取边界的地图项类型(例如市行政区)。
- 获取采用相应格式的地址,该地址将解析为“地点名称, 省/自治区/直辖市, 国家/地区”(例如,“Kirkland, WA, USA”)。
- 获取照片等其他实用数据。
使用 Geocoding API
借助 Geocoding API, 将地址、经纬度坐标或地点 ID 转换为 地理坐标,反之亦然。以下用法适合与 边界的数据驱动型样式:
- 使用地理编码服务获取某个区域的视口。
- 对地理编码调用应用组成部分过滤,以获取地点 ID 代表行政区 1-4、市行政区或邮政编码。
- 使用反向地理编码按纬度和经度查找地点 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
结合使用反向地理编码和组成部分过滤,以获取地址组成部分 指定位置有以下一种或多种类型的 ID:
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