使用Google Directions API问题绘制超过8个航点的路线图

Nul*_*ify 8 javascript google-maps google-maps-api-3

我正在尝试使用多个航点绘制路线图.根据Google API,您只能使用8个航点,而对于业务开发,您只能使用23个航点,但这还不足以绘制精确的旅行地图.

我在这里有一个值得注意的解决方案链接,但是没有正常工作.

这个解决方案有一个问题,因为它无法绘制路线图.

如果你打开我的JSFiddle,你可以看到有一些方法点:

喜欢:-

VAR点= [[28.595161666666666,77.31429666666666],[28.602561666666663,77.31256166666667],[28.594639999999995,77.30559166666667],[28.585825,77.30017],[28.58475333333333,77.30100333333333],[28.583985,77.30347166666667],[28.584005,77.30288],[28.584428333333335,77.30269166666668 ],[28.584080000000004,77.30304],[28.583235,77.30358500000001],[28.584435,77.30268333333333],[28.583306666666665,77.30265666666666],[28.584278333333334,77.30283833333333],[28.586365,77.29805166666667],[28.583978333333334,77.30177],[28.584324999999996,77.30284166666667] [28.584238333333328,77.30340666666666],[28.584101666666665,77.30290666666666],[28.590111666666665,77.30175666666668],[28.584323333333334,77.30297333333333],[28.584215000000004,77.30304666666666],[28.583788333333338,77.30260666666666],[28.584193333333328,77.303015][28.583798333333334,77.30157833333332],[28.584288333333333,77.30296166666668],[28.583810000000003,77.30295333333333],[28.583908333333337,77.30201166666667],[28.58464333333333,77.30217833333333],[28.584111666666665,77.30134833333334],[28.587213333333338,77.29757166666667],[28.58387,77.29434666666666],[28.575966666666666 ,77.28125833333334]]

这些数据集('points')返回错误status=ZERO_RESULTS

现在,如果[28.575966666666666, 77.28125833333334]从points数组中删除最后一个point(),那么这将正常工作并且状态为OK.

我为什么要ZERO_RESULTS而不是OK?我怎样才能跳过那些有问题的要点?

这是我的JSFiddle: - http://jsfiddle.net/67tbw/28/

Nul*_*ify 15

最终修复它.现在它可以使用任何数量的点,现在status = ZERO_RESULTS不会有问题.

问题出在我得到的一些问题上status=ZERO_RESULT.之后它停止了执行,由于我没有得到地图.所以为了解决这个问题,我提出了在状态不等于时跳过特定点的解决方案OK.然后继续其余的.为此,我采用了两个参数,一个是存储最后一个索引而另一个是路径.因为当我不能获得OK状态时,我将无法从状态获取lastIndx和路径,所以当我遇到问题时,它将转到else部分,我就是这样做的.

1. lastIndx = lastIndx+1 ,
2. gDirRequest(service, waypoints, userFunction,lastIndx , path) 
Run Code Online (Sandbox Code Playgroud)

*再次调用该函数直到最后一点.如果我的状态是OK,那么我将路径存储为当前路径,将lastIndx存储为当前索引(lastIndx = s [1]).

检查这个JSFiddle: - http://jsfiddle.net/kousik/2pNKH/

  • 没有什么比你做的更好:).也可能是一个好主意,向用户提供有关从路线中排除了多少个拉管的反馈. (3认同)