我正在尝试使用多个航点绘制道路地图。根据Google API,您只能使用8个航点,而对于业务开发,您只能使用23个航点,但这还不足以绘制精确的旅行地图。
我得到了一个值得注意的解决方案link here但是没有正常工作。
这个解决方案有一个问题,因为它无法绘制路线图。
如果你打开我的JSFiddle,你可以看到有一些方法点:
如: -
var points = [[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.583908333333 337,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]
),那么这将正常运行,状态为OK
。
为什么我会ZERO_RESULTS
而不是OK
?我怎样才能跳过那些有问题的要点?
答案 0 :(得分:14)
最终修复它。现在可以使用任意数量的点,现在status = ZERO_RESULTS
不会有问题。
问题出在我得到status=ZERO_RESULT
的某些点上。之后它停止了执行,由于我没有得到地图。所以为了解决这个问题,我带来了解决方法,每当我跳过特定的点状态不等于OK
。然后继续执行其余部分。为此,我采用了两个参数,一个是存储最后一个索引而另一个是路径。因为当我不能获得OK状态时,我将无法从状态获取lastIndx和路径,所以当我遇到问题时,它将转到else部分,在那里我确实喜欢这个。
1. lastIndx = lastIndx+1 ,
2. gDirRequest(service, waypoints, userFunction,lastIndx , path)
*再次调用该函数直到最后一点。如果我得到状态是好的,那么我将路径存储为当前路径,将lastIndx存储为当前索引(lastIndx = s [1])。
检查这个JSFiddle: - http://jsfiddle.net/kousik/2pNKH/