2016-11-09 2 views
-2

Ich habe Code in Golang geschrieben, um Wegbeschreibungen mit dem Google Maps API von einem Ort zum anderen zu bekommen. Gemäß der Godoc sind sowohl die DepartureTime als auch die ArrivalTime Parameter optional. Wenn ich jedoch versuche, eine Anfrage ohne Angabe der Abfahrtszeit zu stellen, schlägt der Code fehl und gibt mir die folgende Fehlermeldung: INVALID_REQUEST - Invalid request. Missing the 'departure_time' parameter. Hier ist der relevante Code:Golang Google Maps API Angekommen von

client, err := maps.NewClient(maps.WithAPIKey(apiKey), maps.WithRateLimit(2)) 
check(err, "new maps client") 

r := &maps.DirectionsRequest{ 
    Origin:  origin, 
    Destination: destination, 
    ArrivalTime: arrivalTime, 
    Alternatives: alternatives, 
    Mode:   maps.TravelModeDriving, 
} 

lookupTrafficModel(trafficModel, r) 

if avoid != "" { 
    lookupAvoidPoints(avoid, r) 
} 

//THIS LINE IS WHERE THE ERROR IS THROWN 
routes, waypoints, err := client.Directions(context.Background(), r) 
check(err, "getting directions") 

fmt.Println(waypoints) 
fmt.Println(routes) 

Beachten Sie, dass, wenn ich die ArrivalTime Parameter Kommentar und stattdessen DepartureTime: "now", verwenden (gemäß der Godoc), dieser Code wie erwartet funktioniert.

Antwort

-1

Es scheint, dass dies eine Einschränkung des Google Maps-API ist, nicht des Go-Clients. Für diejenigen, die diese Frage in der Zukunft sehen, experimentieren Sie mit verschiedenen Kombinationen von Parametern (lassen Sie verschiedene aus), bis es funktioniert.