我公司每周都会收到货物装载中心的地址。我们需要把他们的地理编码转换成坐标。但通常这些地址要么不完整,要么包含轻微的语法错误,因此无法输入它们进行地理编码。
我的问题:当处理地理编码时错误或不完整的地址列表时,是否有解决问题的通用解决方案?
如果有关于这个主题的有用文章或资源,请告诉我。
谢谢。
地理编码/自动完成
根据地理编码地址最佳实践文档:
"地理编码是将地址(如街道地址)转换为地理坐标(经纬度)的过程,您可以使用地理坐标在地图上放置标记,或定位地图。">
"一般来说,在对完整的地址进行地理编码时使用地理编码API(例如,"48 pirama Rd, Pyrmont, NSW, Australia")。当地理编码歧义(不完整)地址时,使用Places API Place Autocomplete服务。">
Place Autocomplete服务根据您的输入返回位置预测。这将解决地址拼写错误的问题。
如何获得坐标后使用位置自动完成?
放置自动完成的请求示例如下:
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Paris&types=geocode&key=YOUR_API_KEY
位置自动补全能够返回地址description
及其place_id
。在这个示例请求中,您可以使用"place_id": "ChIJD7fiBh9u5kcRYJSMaMOCCwQ"
获得"description": "Paris, France"
。
那么你可以使用Place ID,得到坐标通过使用地点详细信息请求
你可以这样请求:
https://maps.googleapis.com/maps/api/place/details/json?fields=geometry&place_id=ChIJD7fiBh9u5kcRYJSMaMOCCwQ&key=YOUR_API_KEY
我们在这里使用fields=geometry
只返回坐标如前所述,位置ID我们使用的是我们从自动完成查询中得到的。
返回的数据将是根据您的问题所期望的结果。但如果你需要什么,请随时评论。
要阅读有关fields
参数的更多信息,请参阅Place Details文档。
我希望这对你有帮助!