Bing API 在欧洲并不总是返回相同的信息(邮政编码等)

Bing API does not returning always same information in Europe (postal codes among others)

使用 API https://dev.virtualearth.net/REST/v1/Locations/ 来自 Bing 的一些查询 return 像这样的对象:

address: {addressLine: "9 Rue Charles de Gaulle", adminDistrict: "Centro-Valle del Loira",…}
addressLine: "9 Rue Charles de Gaulle"
adminDistrict: "Centro-Valle del Loira"
adminDistrict2: "Indre y Loira"
countryRegion: "Francia"
formattedAddress: "9 Rue Charles de Gaulle, 37600 Saint-Senoch"
locality: "Saint-Senoch"
postalCode: "37600"

还有一些其他查询 return 属性较少的对象:

address: {adminDistrict: "Centro-Valle del Loira", adminDistrict2: "Indre y Loira", countryRegion: "Francia",…}
adminDistrict: "Centro-Valle del Loira"
adminDistrict2: "Indre y Loira"
countryRegion: "Francia"
formattedAddress: "Saint-Senoch, Indre y Loira, Francia"
locality: "Saint-Senoch"

可能是什么原因?它不认为它与数据相关,因为 addressLine 看起来像任何调用的通用 属性,与 PostalCode 一样,每个地方都有一个邮政编码。

检查匹配置信度的结果和对象的类型 returned。当您请求无法完全解析的地址时,该服务将 return 最接近的可用匹配项,可能是整个地区、行政区或邮政编码。显然,admin 1 区域匹配不会有地址行甚至邮政编码,因为它覆盖了很大的区域。

我们从 Microsoft 获得了有关此的信息:

If you want to make sure Postal Code is returned each time using reverse geocoding, you must add includeEntityTypes patameter into URL.

For the Spanish address it will be :

https://dev.virtualearth.net/REST/v1/Locations/40.704765412488385,-5.129651691971695?key={Bing MapsKey} &includeEntityTypes=Postcode1