2016-04-28 15 views
1

Ich berechne Route Entfernung und Transportzeit zwischen Benutzer durch LatLng angegeben (durch Ziehen Marker) mit Abstand Matrix API. Aber manchmal habe ich eine falsche Entfernung, die aussieht, als ob Maut (oder Autobahn) versehentlich verwendet wird.Wie vermeidet man Autobahn mit Entfernungsmatrix?

Zuerst habe ich versucht:

Rundungs ​​Herkunft (und Ziel) Lage durch Reverse Geocoding mit ROOF_TOP Option LatLng Benutzer angegebenen Ursprung auf der Autobahn zu vermeiden.

Ich arbeite wie ein Charme, um Autobahn Herkunft (oder Ziel) zu vermeiden.

Aber dann embounting ich ein Problem, dass die Entfernung Matrix zu lange Strecke berechnen, die wie Autobahn aussieht.

Ich habe geschätzt, Route mit google-map dann google returns Route, die mit Autobahn.

Aber als ich Uber-App mit der gleichen Herkunft und Ziel überprüft (ich nahm an, dass sie Google Map's API verwenden !!), sie wieder normalen Preis. Also ich denke es gibt eine Lösung ... aber ich kann nicht finden ...

Ich fand bewegte Herkunft ein wenig kann dieses Problem lösen (es scheint wie Google vermutete Einbahnverkehr zufällig), aber wie kann ich programmatisch lösen?

Antwort

2

Sie können Autobahnen avoid Parameter in Ihrer Anfrage vermeiden. Dieser Parameter unterstützt tolls, highways, ferries and indoors.

Richtungen können berechnet werden, die bestimmten Einschränkungen entsprechen. Einschränkungen werden durch Verwendung des Parameters avoid und eines Arguments für diesen Parameter angezeigt, das die zu vermeidende Einschränkung angibt. Es ist möglich, eine Route anzufordern, die eine Kombination von Maut, Autobahn und Fähre vermeidet, indem beide Einschränkungen an den Parameter meiden übergeben werden.

Zum Beispiel:

avoid=tolls|highways|ferries 

avoid=tolls 

avoid=highways 

avoid=ferries 
+0

Nach API-Dokumentation kann nur eine Einschränkung angegeben werden. https://developers.google.com/maps/documentation/distance-matrix/intro – JerryM

Verwandte Themen