如何使用Bing Maps API检查邮政编码是否存在?

时间:2018-02-22 10:44:28

标签: bing-maps

我需要使用Bing Maps API检查英国邮政编码(不确定其他国家/地区的差异)是否有效。

似乎我可以把任何废话放到字段中以获得邮政编码,我仍然会得到回复。

E.G。 http://dev.virtualearth.net/REST/v1/Locations/GB/aregsfdgsdfgsdfgdsf?key=BINGMAPSKEYHERE

在" point"中给出一个纬度为53.9438323974609,-2.55055809020996的结果。字段,尽管显然不是有效的邮政编码。

有没有办法可以简单地测试邮政编码的有效性?

1 个答案:

答案 0 :(得分:1)

如果查看请求的响应对象,您将看到matchCode值。这表明匹配是否良好。在这种情况下,它会显示“UpHierarchy”,表示它没有找到确切的结果,所以它在向上发送地址层次结构时才会找到结果。返回的结果是针对英国的。此外,结果还有一个entityType值,告诉您找到的类型位置。在这种情况下,它说CountryRegion。您希望entityType值为“PostalCode”。通过检查这两个值,您可以确定返回的结果是否为邮政编码。有关地理编码响应对象的更多详细信息,请参见此处:https://msdn.microsoft.com/en-us/library/ff701725.aspx

我要强调的一点是,您使用的URL格式有点遗留,并且不如传入单个字符串查询那样准确(即& q = YOURQUERY)。这在best practices docs中突出显示。如果您使用的是.NET,我建议您使用Bing Maps .NET REST toolkit。它使事情变得非常简单,并为您实现最佳实践。