使用pincode计算距离(Google map Distance Matrix API)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用pincode计算距离(Google map Distance Matrix API)相关的知识,希望对你有一定的参考价值。

我正在开发MVC上的Web应用程序,我需要使用pin代码自动查找两个位置之间的距离。所以,我开始使用谷歌地图距离矩阵API,如下所示:

https://maps.googleapis.com/maps/api/distancematrix/xml?origins=" + Convert.ToString(origin) + "&destinations=" + Convert.ToString(destination) + "&key='MY key'

API适用于印度的密码,但是我必须在柬埔寨部署应用程序,而对于柬埔寨的密码,API无效。

有人可以帮帮我吗?

答案

我已经看过你的请求https://maps.googleapis.com/maps/api/distancematrix/xml?origins=12413&destinations=12211&key=YOUR_API_KEY

请注意,1241312211在起源和目的地参数中的含义非常模糊。您必须提供更精确的地址才能获得结果。 Distance Matrix API将在内部对1241312211进行地理编码。

例如,12413将被编码为“Cairo,NY 12413,USA”,这是美国的邮政编码。您可以在Geocoder工具中看到这个:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D12413

12211将被地理编码为'Albany,NY 12211,USA':

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D12211

在这两种情况下,它都不是柬埔寨的密码,正如您所期望的那样。

更重要的是,当我尝试使用组件过滤在柬埔寨找到邮政编码1241312211时,我得到ZERO_RESULTS:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#in_postal_code%3D12413%26in_country%3DKH%26options%3Dtrue

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#in_postal_code%3D12211%26in_country%3DKH%26options%3Dtrue

尝试从柬埔寨的坐标反向地理编码中获取邮政编码也会导致ZERO_RESULTS:

https://maps.googleapis.com/maps/api/geocode/json?latlng=11.55486%2C104.905679&result_type=postal_code&key=MY_API_KEY

虽然可以找到相同坐标的位置:

https://maps.googleapis.com/maps/api/geocode/json?latlng=11.55486%2C104.905679&result_type=locality&key=MY_API_KEY

这是'Phnom Penh',地点ID为ChIJ42tqxz1RCTERuyW1WugOAZw

考虑到所有这些事实,Google似乎没有在其数据库中拥有柬埔寨的密码信息。

我建议您在应用程序中使用自动填充功能。这样,用户可以选择建议的地址,并且可以使用用户选择的地点ID来执行距离矩阵请求。还要了解官方文档中的地理编码最佳实践:

https://developers.google.com/maps/documentation/geocoding/best-practices

我希望这有帮助!

以上是关于使用pincode计算距离(Google map Distance Matrix API)的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 使用标尺计算Google Map v3上的距离

如何使用带有 Google Maps Roads API 的坐标列表计算距离

在 Google Maps v2 上计算当前位置和标记之间的距离

在 Google Maps for Ionic 2 中计算两点之间的距离

为啥我不能在函数中返回计算出的距离(来自 Google Maps API)? [复制]

距离,Google Maps v2 上的 gps 不准确