Googles Distance Matrix服务的替代品?

Dom*_*Dom 13 javascript google-maps google-maps-api-3

我正在制作一个报价计算器,它将根据不同地点之间的里程数(以及其他条件)生成报价.直到两天前,我还计划使用Google的距离矩阵服务,直到我发现:

显示Google地图

使用距离矩阵服务必须与Google地图上的信息显示相关; 例如,在请求并在地图上显示那些目的地之前,确定彼此在特定驾驶时间内的起始 - 目的地对.禁止在不显示Google地图的应用程序中使用该服务.

我原本希望只使用我需要的服务:

- 最多三个不同位置之间的道路测量距离

- 地址自动完成服务可在输入框上使用

- 准确,可靠的服务,可提供多种不同的路线来创建平均距离

我知道还有其他可用的方法,但我怀疑许多方法可以像谷歌一样准确和可靠,我发现找到任何可与Google Maps相媲美的东西都很困难.

所以,除非你们能指出我可以使用的东西,否则我唯一的选择就是使用我不需要它的谷歌地图,增加额外的加载时间并改变我计划的用户体验设计.

是否有任何免费服务可用于我需要的(最好使用JS API)?

略有不同的说明

如果我确实使用谷歌地图,它是否必须立即显示,或者我可以隐藏它并添加"在地图上显示"的选项,并显示它.slideToggle?

Suv*_*jah 11

不幸的是,对于Distance Matrix API,Google严格要求您在应用中显示地图:

使用距离矩阵API必须与Google地图上的信息显示相关; 例如,在请求并在地图上显示那些目的地之前,确定彼此在特定驾驶时间内的起始 - 目的地对.禁止在不显示Google地图的应用程序中使用该服务. http://developers.google.com/maps/documentation/distancematrix/#Limits

但是,我认为对您的需求更有用的是Google Directions API.方向API允许您满足您的要求.

从请求返回JSON对象中的总距离.

您可以选择最多不同的位置来查找在搜索请求中使用Waypoint之间的距离.然后在每个" "中返回这些位置之间的距离.

您可以通过alternatives在搜索请求中指定参数来获取到目的地的多条不同路线的平均距离true.请参阅:http://developers.google.com/maps/documentation/directions/#RequestParameters

最重要的是,Google在使用此服务时无需在您的应用程序中显示Google Map.

如果您选择使用它,我还应该提到这项服务的缺点.

  1. 处理您的请求所需的请求时间将比使用Distance Matrix API的时间略长.
  2. 您将在返回对象中包含大量不需要的数据,例如,根据您的应用程序要求,返回的json对象中的路径的各个"步骤"不是必需的.

鉴于这些缺点,我仍然强烈建议您查看适用于您的应用程序的Directions API.

  • Google Directions API现在要求您显示地图."注意:Directions API只能与在Google地图上显示结果一起使用;禁止使用路线数据而不显示请求数据的地图的地图.此外,路线计算会产生必须显示的版权和警告用户以某种方式.有关允许使用的完整详细信息,请参阅Maps API服务条款许可限制." (7认同)