Puede establecer la opción getPolyline, en el parámetro opcional , en la solicitud GDirections load. Esto te dará los datos de la polilínea para la ruta.
Una vez que tenga estos datos, puede iterar sobre cada punto de la polilínea y determinar la distancia a cada uno de sus propios puntos de datos (puede usar el método GLatLng distanceFrom para calcular la distancia).
Una vez que tenga la distancia más corta a su ruta para cada uno de sus puntos de datos, puede y puede calcular, basándose en cierta tolerancia, si el punto se encuentra en la ruta.
Editar:
A pesar de que está bien para llamar al método GLatLng distanceFrom repetidamente (que es sólo un método de utilidad para obtener la distancia entre dos puntos), me di cuenta de mi respuesta simplifica el problema. Para obtener una distancia precisa de la ruta, deberá determinar la distancia desde la polilínea entre los dos puntos más cercanos (no solo la distancia desde cada punto).
Creo que te refieres a distanceFrom rather than getDistance. getDistance es un método de GDirections, y no desea hacer una llamada de GDirections para cada vértice en la polilínea porque sería muy lento y comería rápidamente en su cuota de GDirections. –
No. Estoy hablando de * GLatLng * * getDistance * que es un método de utilidad para verificar la distancia entre dos puntos geográficos. – RedBlueThing
Vaya ... Me acabo de dar cuenta de la causa de la confusión. Quise decir el método * distanceFrom * en GLatLng. – RedBlueThing