You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用uszipcode库按邮编+半径查询周边邮编出现异常求助

问题排查及解决方案

错误原因

  • 当你传入zipcode + 字符串类型radius时,方法会直接忽略无效的字符串类型半径参数,仅返回你传入邮编的匹配结果,所以只有单条数据。
  • 当你传入zipcode + 整数类型radius时,会触发参数校验逻辑:radius参数必须和lat(纬度)、lng(经度)三个参数同时传入,不支持直接和zipcode搭配使用,所以抛出对应错误。

正确实现逻辑

要实现输入邮编+半径返回范围内所有邮编,需要分两步执行:

  1. 先用输入的邮编查询到对应的经纬度坐标
  2. 再将经纬度和半径参数一起传入query方法执行范围搜索

可运行示例代码

from uszipcode import SearchEngine

# 初始化搜索引擎,默认使用精简数据集,需要全量数据可传入simple_or_comprehensive参数指定
search = SearchEngine()

# 第一步:查询目标邮编的经纬度
target_zip_info = search.by_zipcode("74104")
target_lat = target_zip_info.lat
target_lng = target_zip_info.lng

# 第二步:执行范围搜索,radius单位为英里,returns=0时返回所有匹配结果
search_res = search.query(
    lat=target_lat,
    lng=target_lng,
    radius=30,
    returns=5
)

# 提取范围内的邮编列表
cover_zip_list = [item.zipcode for item in search_res]
print(cover_zip_list)

注意事项

  • radius参数支持整数、浮点数类型,不需要转成字符串传入
  • 如果需要查询更大范围的邮编,建议初始化时使用全量数据集,避免数据遗漏

内容的提问来源于stack exchange,提问作者Dip773

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 03:27:05