2014-10-02 7 views
5

voglio accedere la durata da un punto ad un altro punto con il traffico e senza traffico (vedi picutre sotto)Google Maps dati API V3 Recupero per con e senza traffico

enter image description here

voglio calcolare il ritardo con e senza traffico. Non riesco a trovare il metodo nell'API di Gogole Maps v3 che potrebbe fornirmi quei dati. Oppure ho calcolato con altri dati in qualche modo?

MODIFICA:
So come calcolare la durata. Il problema è che voglio ottenere la durata con il traffico e anche la durata senza traffico (vedi l'immagine che ho fornito sopra), al fine di calcolare il tempo di ritardo possibile.

EDIT: favore correggetemi se sbaglio, ma sembra che questo non è possibile con l'API V3 di Google in base a questo link Google maps traffic prediction API V3

Qualcuno sa come posso ottenere la durata da un punto ad un altro? Tuttavia, non deve essere Google.

risposta

2

C'è un traffic layer dall'API JS di Google Maps.

è necessario aggiungere alla tua mappa lo strato di traffico:

var trafficLayer = new google.maps.TrafficLayer(); 
trafficLayer.setMap(map); 

Qui c'è un live example.

E se si vuole calcolare la durata, c'è a distance matrix API from Google e in questa domanda StackOverflow , si può vedere the answer.

In Direction Service è necessario dare questo campo:

{ 
    origin: LatLng | String, 
    destination: LatLng | String, 
    travelMode: TravelMode, 
    transitOptions: TransitOptions, 
    unitSystem: UnitSystem, 
    durationInTraffic: Boolean, /* this is with traffic or without */ 
    waypoints[]: DirectionsWaypoint, 
    optimizeWaypoints: Boolean, 
    provideRouteAlternatives: Boolean, 
    avoidHighways: Boolean, 
    avoidTolls: Boolean 
    region: String 
} 

Si può provare prima con il traffico e salvare la durata e quindi è possibile chiudere l'opzione di traffico e salvarlo. Quindi puoi vedere la differenza tra loro.

+0

Grazie per la risposta. So come calcolare la durata. Il problema è che voglio ottenere la durata con il traffico e anche la durata senza traffico (vedi l'immagine che ho fornito nel mio post di apertura), al fine di calcolare l'eventuale ritardo. Spero di poter mettere i miei punti a confronto. – thadeuszlay

+0

Quindi è necessario scrivere sul callback e sulle opzioni una volta con 'durationInTraffic: true,' e poi 'durationInTraffic: false,', ma non sono sicuro se fornirà la versione senza traffico del tuo. – xmux

+0

"Nota: il campo durationInTraffic è ora obsoleto, in precedenza era il modo consigliato per i clienti del piano Premium di API di Google Maps per specificare se il risultato includesse una durata che tenga conto delle condizioni del traffico correnti. Dovresti invece utilizzare il campo drivingOptions. " –

2

È possibile farlo con richiesta Distance Matrix API

GET -

https://maps.googleapis.com/maps/api/distancematrix/json?origins=garching&destinations=hamburg&departure_time=now&key=YOUR_KEY 

vi darà duration & duration_in_traffic per la Route-

{ 
    "destination_addresses": [ 
    "Hamburg, Germany" 
    ], 
    "origin_addresses": [ 
    "85748 Garching, Germany" 
    ], 
    "rows": [ 
    { 
     "elements": [ 
     { 
      "distance": { 
      "text": "761 km", 
      "value": 760831 
      }, 
      "duration": { 
      "text": "7 hours 1 min", 
      "value": 25242 
      }, 
      "duration_in_traffic": { 
      "text": "6 hours 42 mins", 
      "value": 24145 
      }, 
      "status": "OK" 
     } 
     ] 
    } 
    ], 
    "status": "OK" 
} 

Il departure_time è elencato come un parametro facoltativo in la documentazione, ma è necessaria se si desidera vedere unStima.

Spero che questo aiuti.

Problemi correlati