首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用优化路由

如何使用优化路由
EN

Stack Overflow用户
提问于 2016-08-26 17:59:45
回答 1查看 2K关注 0票数 0

我正在使用谷歌方向api解决旅行推销员的问题。

显然,api接受一个名为optimize:true的参数,然后返回一个"waypoint_order": [ 1, 0, 2, 3 ],告诉您优化路由的最佳路径点顺序。

问题是,当您试图优化路由时,API就不能工作了,您就得到了NO_RESULTS。

例如,使用这个url来查看添加optimize:true|位时API是如何失败的。

不工作(NO_RESULTS错误):

钥匙

工作(但不是优化):

未优化url:钥匙

有没有人知道他们是否停止支持路线优化?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-27 02:12:54

在我看来,这是DirectionsService中的一个bug,当您传入PlaceIds时。我用Javascript复制了它。使用地址工作:

代码语言:javascript
复制
  waypts = [];
  waypts.push({
  location: "Plymouth, UK", // {placeId:"ChIJPeqVDlONbEgRk4X1zrUsKDs"},
  stopover: true
  });
  waypts.push({
  location: "Bournemouth, UK", // {placeId:"ChIJ_WegsaCYc0gRlCypaxXgLjs"},
  stopover: true
  });
  var request = {
    origin: "London, UK", //{placeId:"ChIJdd4hrwug2EcRmSrV3Vo6llI"},
    destination: "Newquay, UK", //{placeId: "ChIJh1a5WhEMa0gRY1JU4PEam8Q"},
    waypoints: waypts,
    optimizeWaypoints: true,
    travelMode: 'DRIVING'
  };

使用地址进行篡改(返回路径点order=1,0)

但是相同的位置(我使用这些placeIds获取上面的地址)不能使用placeIds:

代码语言:javascript
复制
  waypts = [];
  waypts.push({
  location: {placeId:"ChIJPeqVDlONbEgRk4X1zrUsKDs"},
  stopover: true
  });
  waypts.push({
  location: {placeId:"ChIJ_WegsaCYc0gRlCypaxXgLjs"},
  stopover: true
  });
  var request = {
    origin: {placeId:"ChIJdd4hrwug2EcRmSrV3Vo6llI"},
    destination: {placeId: "ChIJh1a5WhEMa0gRY1JU4PEam8Q"},
    waypoints: waypts,
    optimizeWaypoints: true,
    travelMode: 'DRIVING'
  };

结果)

可能与问题跟踪器:问题8979:错误:不能使用placeId和字符串的组合作为源/目标中的这个问题有关。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39172186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档