如何通过Google Places Autocomplete API获取地址及邮政编码?
解决Google Places Autocomplete返回结果无邮政编码的问题
别担心,这不是你的操作有误——Google Places Autocomplete API本身的设计就是只返回地点建议的简略信息,默认不会包含邮政编码这类完整地址组件。要拿到邮编,你需要搭配另一个API来完成:
具体步骤
第一步:从Autocomplete的返回结果中提取
place_id
当用户选中一个地址建议时,每个预测项里都会包含唯一的place_id字段,这是关键标识。比如Autocomplete响应里的某条数据大概是这样:{ "description": "1600 Amphitheatre Parkway, Mountain View, CA, USA", "place_id": "ChIJ2eUgeAK6j4ARbn5u_wAGqWA", "structured_formatting": { /* ... */ }, // 其他字段 }第二步:调用Place Details API获取完整地址信息
用刚才拿到的place_id,请求Place Details API,并且通过fields参数指定只获取你需要的地址组件(这样能减少响应体积,也更高效)。请求示例如下:GET https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ2eUgeAK6j4ARbn5u_wAGqWA&fields=address_components&key=YOUR_API_KEY第三步:从响应中提取邮政编码
在Place Details的返回结果里,找到address_components数组中types包含postal_code的对象,它的long_name(完整邮编)或short_name(简写邮编)就是你要的内容。示例片段:"address_components": [ // ...其他组件 { "long_name": "94043", "short_name": "94043", "types": ["postal_code"] } ]
注意事项
- 确保你的API密钥已经在Google Cloud控制台启用了Place Details API,否则请求会返回权限错误。
- 如果需要获取其他地址组件(比如街道、城市),可以在
fields参数里添加对应的项,比如address_components,formatted_address。
内容的提问来源于stack exchange,提问作者slugspeed
相关产品推荐
相关产品推荐

