本文介绍了使用Google路线API问题绘制具有8个以上路标的路线图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



我有一个值得注意的解决方案,但没有正常工作。



这个解决方案有一个问题指出它不能绘制路线图。



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

像: -



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.58 3798333333334,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] ),然后这将正常工作,状态将是确定



为什么我得到 ZERO_RESULTS 而不是确定?如何跳过这些问题点?



以下是我的JSFiddle: -


解决方案

Finaly修复了它。现在它可以与任意数量的点一起工作,现在 status = ZERO_RESULTS 将不会成为问题。

问题是对于某些点,我得到了 status = ZERO_RESULT 。之后它停止执行,并且因为我没有得到地图。所以为了解决这个问题,我带着解决方案当状态不等于 OK 时跳过特定点。然后继续处理剩下的点。要做到这一点,我采取了两个参数之一是用于存储最后一个索引和其他是路径。因为当我不能获得OK状态时,我将无法从状态中获取lastIndx和路径,所以当我遇到问题时,它会转到else部分,并且我确实喜欢这一点。

  1。 lastIndx = lastIndx + 1,
2. gDirRequest(service,waypoints,userFunction,lastIndx,path)



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



勾选这个JSFiddle: -


I am trying to draw road map with multiple waypoints.As per google API,you can use only 8 waypoint and for business development you can use only 23 waypoints but that is not enough to draw the accurate travel map.

I got one notable solution link here but did't works properly.

This solution has one issue for some point it wont't be able to draw the roadmap.

If you open my JSFiddle the you can see that there are a brach of way points:

like:-

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.583908333333337, 77.30201166666667], [28.58464333333333, 77.30217833333333], [28.584111666666665, 77.30134833333334], [28.587213333333338, 77.29757166666667], [28.58387, 77.29434666666666], [28.575966666666666, 77.28125833333334]]

These data set('points') return an error as status = ZERO_RESULTS

Now If you remove the last point ([28.575966666666666, 77.28125833333334]) from the points array then this will work properly and status will be OK.

Why am I getting ZERO_RESULTS instead of OK ? How can I skip those problematic points ?

Here is my JSFiddle :- http://jsfiddle.net/67tbw/28/

解决方案

Finaly fixed it.Now it will work with any number of point and now status = ZERO_RESULTS will not be a problem.

The problem was for some points I was getting status=ZERO_RESULT.After that it stopped executing and due to that I was not getting the map.So to fix that problem I came with the solution of skipping the particular point whenever status is not equal to OK.Then proceed with the rest of the point. To do that i took two parameter one is for storing the last index and other is path. Because when I will not get OK status then I will not be able to get the lastIndx and path from the status so when ever i am getting the problem then it will go to the else part and there I did like this.

1. lastIndx = lastIndx+1 ,
2. gDirRequest(service, waypoints, userFunction,lastIndx , path) 

*call the function again until the last point.In between if I got status is OK then I will store the path as current path and lastIndx as current index (lastIndx = s[1]).

check this JSFiddle: - http://jsfiddle.net/kousik/2pNKH/

这篇关于使用Google路线API问题绘制具有8个以上路标的路线图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 07:05