13

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

谷歌地图的显示

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

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

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

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

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

我知道还有其他可用的方法,但我怀疑很多方法可以像谷歌一样准确和可靠,我发现为了我需要的目的找到与谷歌地图相媲美的任何东西都具有挑战性。

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

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

稍有不同

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

4

4 回答 4

12

不幸的是,对于距离矩阵 API,Google 严格要求您需要在应用程序中显示地图:

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

但是,我认为对您的需求更有用的是Google Directions API。路线 API 允许您满足您的要求。

总距离在请求的 JSON 对象中返回。

您可以选择尽可能多的不同位置来查找使用搜索请求中的航点之间的距离。然后在每个“腿”中返回这些位置之间的距离。

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

最重要的是,使用此服务时,Google 没有要求在您的应用程序中显示 Google 地图。

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

  1. 处理您的请求所需的请求时间将比使用距离矩阵 API 的时间稍长。
  2. 您将在返回对象中有很多不需要的数据,例如根据您的应用程序要求,返回的 json 对象中的路由的各个“步骤”不是必需的。

考虑到这些缺点,我仍然强烈建议您查看应用程序的 Directions API。

于 2013-01-11T05:29:03.383 回答
1

我不知道谷歌静态地图是否算作地图,但它应该算作地图,因为它是地图并且来自谷歌。您可以计算路线,然后将其显示为静态地图中的图像。不需要额外的地图加载时间。只有一张图。

https://developers.google.com/maps/documentation/staticmaps/#Paths

于 2013-01-10T15:47:09.293 回答
1

许多开发人员已经能够使用 Bing 地图 REST 路由服务http://msdn.microsoft.com/en-us/library/ff701705.aspx做到这一点。它需要更多的开发,但效果很好。这是一个示例:http ://code.msdn.microsoft.com/Bing-Maps-trip-optimizer-c4e037f7

于 2014-09-12T12:50:13.487 回答
0

Streetmap 和 arcserver 可以解决车辆路线问题,但它不是免费的。在此处阅读更多信息:http: //www.esri.com/data/streetmap

于 2013-01-05T00:58:46.783 回答