强制 MapBox 地理编码 API 仅返回带有邮政编码的结果

问题描述

我正在与 MapBox Geocoding API 合作,以便在我网站的位置搜索功能中提供地址建议。

以下是一个示例调用

https://api.mapBox.com/geocoding/v5/mapBox.places/Zur.json?country=ch&limit=5&proximity=8.765.432&language=en-GB&access_token=***

我的目标是强制 api 只返回包含邮政编码的结果。

例如,如果我输入“Zur”(将搜索限制为瑞士),我会得到以下信息:

 - Zürich,Zürich,Switzerland
 - Zürich,Switzerland
 - Zürich Airport,Flughafenstrasse,Kloten,Zürich 8302,Switzerland
 - Zurich,Buchs,Zürich 8107,Switzerland

预期结果应该没有前两行,因为它们没有邮政编码。

我尝试实现自己在客户端不带邮政编码的情况下删除结果(就在我从 api 得到答案之后),但这是一个次优解决方案(例如,它不能确保有足够的结果)。

我在 MapBox 中找不到这样的功能。有没有更好的解决方案?

解决方法

只需添加?types=address

查看所有类型列表: https://docs.mapbox.com/api/search/geocoding/#data-types