Le dessin de la feuille de route avec plus de 8 points de cheminement à l'aide de Google directions de l'API Problème
Je suis en train de dessiner une feuille de route avec plusieurs points de cheminement.Conformément à l'API de google,vous pouvez utiliser seulement 8 waypoint et pour le développement des affaires, vous pouvez utiliser seulement 23 points de cheminement, mais qui n'est pas assez pour attirer l'exactitude de la carte de voyage.
J'en ai eu un notable de la solution lien ici mais ne fonctionne pas correctement.
Cette solution a un problème pour un certain point, il ne peut pas dessiner la feuille de route.
Si vous ouvrez mon JSFiddle la vous pouvez voir qu'il y a un brach des points de passage:
comme:-
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]]
Ces données ("points") renvoie une erreur comme status
= ZERO_RESULTS
Maintenant, Si vous supprimez le dernier point ([28.575966666666666, 77.28125833333334]
) à partir de la matrice de points alors cela fonctionnera correctement et sera l'état de la OK
.
Pourquoi suis-je ZERO_RESULTS
au lieu de OK
? Comment puis-je me passer de ces points problématiques ?
Voici mon JSFiddle :- http://jsfiddle.net/67tbw/28/
Voir ma réponse à la même question avec le code complet de l'exemple de stackoverflow.com/questions/8779886/...
OriginalL'auteur Nullify | 2013-10-01
Vous devez vous connecter pour publier un commentaire.
Enfin, il fixe.Maintenant, il fonctionne avec n'importe quel nombre de points et maintenant
status = ZERO_RESULTS
ne sera pas un problème.Le problème a été pour certains points je recevais
status=ZERO_RESULT
.Après qu'il a cessé de l'exécution et de la raison pour que je n'allais pas la carte.Afin de résoudre ce problème je suis venu avec la solution de sauter le point particulier chaque fois que le statut n'est pas égal àOK
.Ensuite avec le reste de la point. Pour ce faire, j'ai pris deux paramètres est pour stocker le dernier indice et d'autres est le chemin. Parce que quand je ne vais pas l'état OK alors je ne vais pas être en mesure d'obtenir la lastIndx et le chemin d'accès à partir de l'état donc, quand je suis arriver le problème, alors il va aller à l'autre partie et là j'ai fait comme cela.*appel de la fonction jusqu'à ce que le dernier point.Entre les deux, si j'étais état est OK alors je vais stocker le chemin d'accès en tant que chemin d'accès actuel et lastIndx comme indice actuel (lastIndx = s[1]).
cochez cette JSFiddle: - http://jsfiddle.net/kousik/2pNKH/
hey @CrazyTim.Le problème a été pour certains perticular point votre code a été d'obtenir le statut d'=ZERO_RESULT et après qu'il a arrêté d'exécution et c'est pourquoi je n'allais pas la carte. afin de corriger cela, je suis en sautant, en particulier le point chaque fois que je vais obtenir le statut n'est pas égale à OK.et de poursuivre avec le reste de la point. Pour ce faire, j'ai pris deux paramètres est pour stocker le dernier indice et d'autres est le chemin. coz quand je ne sera pas obtenir de l'état OK alors je ne vais pas être en mesure d'obtenir la lastIndx et le chemin d'accès à partir de l'état.. lire la suite commentaire
alors, quand je suis arriver le problème, alors il va aller à l'autre partie et là j'ai fait comme cela. 1. lastIndx = lastIndx+1 , 2. gDirRequest(service, les waypoints, les userFunction,lastIndx , chemin d'accès) *appel de la fonction jusqu'à ce que le dernier point.et entre les deux, si j'étais état est OK alors je stocker le chemin d'accès en tant que chemin d'accès actuel et lastIndx comme indice actuel (lastIndx = s[1]). je pense que vous l'avez.si vous avez un doute je vais l'effacer. merci
être conscient de ne pas se fier à cette méthode trop d'erreur à l'attraper comme il va augmenter le nombre d'appels à l'API.
Rien de mieux que ce que vous avez fait :). Aussi pourrait être une bonne idée de fournir de la rétroaction à l'utilisateur sur la façon dont de nombreux latlongs ont été exclus de l'itinéraire.
OriginalL'auteur Nullify