google 地理编码 api 邮政编码为 12593 的服务

google geocoding api services with zip code 12593

我在使用 google 地理定位服务时遇到问题。本质上,我们将它用于邮政编码验证器,而邮政编码“12593”存在问题。此邮政编码显示为位于西班牙。 (请在此处查看屏幕截图 = http://prntscr.com/hkkafh

请在此处查看 xml https://maps.googleapis.com/maps/api/geocode/xml?&address=12593)

这个邮政编码虽然是美国的邮政编码,但可以在这里看到 = https://www.google.com/search?num=100&q=us+zip+code+12593&oq=us+zip+code+12593(google 搜索结果。)

我知道 google 不是邮政编码的唯一性,但是我希望 google 理解这个邮政编码可能有两个不同的位置。

知道如何让 api 了解我正在寻找专门在美国的邮政编码吗?

地理编码无法访问您要查找的邮政编码 api。这个最近的一个是可达的:

https://maps.googleapis.com/maps/api/geocode/json?&components=country:US|postal_code:12516

要按邮政编码搜索并按国家/地区(即美国)限制,您必须使用 components 查询参数的子参数,如上面的 URL

...&components=country:US|postal_code:[YOUR PARAMETER]

(在 https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering 上获得此参数信息)

或者您可以使用 https://thezipcodes.com/ 从帐户部分获取 API 密钥。点击获取请求。我在这里找到了大部分数据。

https://thezipcodes.com/api/v1/search?zipCode={zipCode}&countryCode={2digitCountryCode}&apiKey={apiKey}

回复会像

{
    "success": true,
    "location": [{
      "zipCode": "13040",
      "country": "United States",
      "countryCode2": "US",
      "countryCode3": "USA",
      "state": "New York",
      "stateCode2": "NY",
      "city": "Cincinnatus",
      "county": "Cortland",
      "latitude": "42.564381",
      "longitude": "-75.934792",
      "timeZone": "EST — Eastern Standard Time"
    }]
}