首页 > 解决方案 > mapbox 地理编码 API 响应中缺少 short_code(对于美国领土内的一个区域)

问题描述

我们需要 short_code 才能将地区/位置名称转换为邮政编码。我们可以使用 mapbox 地理编码 API 获取丹佛地区的 short_code。但是,同一 API 响应中缺少Cayey(波多黎各地区的区域)的 short_code 。请在下面的合同中查看更多详细信息。

另一个观察结果是 Cayey 的国家/地区显示为波多黎各而不是美国。

https://api.mapbox.com/geocoding/v5/mapbox.places/denver.json?access_token={{token}}&autocomplete=true&country=US&types=region,district,place,locality&limit=20

Mapbox geocodong 对“丹佛”的回应:

{
  "context": [
    {
      "id": "region.10002699958017490",
      "wikidata": "Q1261",
      "short_code": "US-CO",
      "text": "Colorado"
    },
    {
      "id": "country.19678805456372290",
      "wikidata": "Q30",
      "short_code": "us",
      "text": "United States"
    }
  ]
}

https://api.mapbox.com/geocoding/v5/mapbox.places/cayey.json?access_token={{token}}&autocomplete=true&country=US&types=region,district,place,locality&limit=20

'Cayey' 的 Mapbox 地理编码响应:

    {
      "context": [
        {
          "id": "region.11316909078893780",
          "wikidata": "Q2307508",
          "text": "Cayey"
        },
        {
          "id": "country.16776721557498950",
          "wikidata": "Q1183",
          "short_code": "pr",
          "text": "Puerto Rico"
        }
      ]
    }

mapbox 团队可以在这方面帮助我吗?

标签: mapboxgeocoding

解决方案


正如文档所解释的,short_code是可选的。因此,不能保证它总是包含在内。


推荐阅读