2017-05-02 1 views
-1

Google Maps API를 호출하여 이동 시간을 두 지점 (, 트래픽 포함) 사이로 가져 오려고합니다. 여기에 지금까지있어 무엇 : 불행하게도Google Maps API를 사용하여 트래픽 측정

function test(){ 
    //Info: https://developers.google.com/maps/documentation/directions/intro 

    var baseUrl = "https://maps.googleapis.com/maps/api/directions/json?"; 
    var origin = "Redmond+WA"; 
    var destination = "Salem+OR"; 
    var departureTime = "now"; 
    var trafficModel = "pessimistic"; 
    var url = baseUrl + "origin=" + origin + "&destination=" + destination + "&departure_time=" + departureTime + "&traffic_model=" + trafficModel; 
    var response = UrlFetchApp.fetch(url); 
    Logger.log("Google Maps API: " + JSON.parse(response).routes[0].legs[0].duration.text); 
    Logger.log("Full response from API: \n" + response); 
} 

, 난 항상 내가 코드를 실행하는 경우에 상관없이, 3 hours 43 mins의 결과를 얻을 수 없다 (내가 departure_timetraffic_model을 정의한다는 사실에도 불구하고 어떤 제안

.?

(참고로, documentation은 필수 매개 변수로 API 키를 전달해야한다고 말합니다. 분명히 위의 코드에 따르면 - 아직이 작업을 수행하지 않았습니다. 이것은 traffic_model 매개 변수를 사용하지 못하게 할 수 있습니까?)

답변

2

당신은 어떤 분야를 봅니까? duration 또는 duration_in_traffic? duration_in_traffic

문서에 따르면

는이 구간의 총 소요 시간을 나타냅니다. 이 값은 현재 및 과거 트래픽 상태를 기반으로 한 트래픽의 예상 시간입니다. 리턴 값이 낙관적, 비관적 또는 최선 추정치임을 요청하는 데 사용할 수있는 옵션에 대해서는 traffic_model 요청 매개 변수를 참조하십시오. 트래픽 기간은 다음의 모두에 해당하는 경우에만 반환됩니다

  • 요청이 유효한 API 키, 또는 유효한 구글지도 API 프리미엄 계획 클라이언트 ID 및 서명이 포함되어 있습니다.

  • 요청시 중간 기착지가 포함되어 있지 않습니다. 요청에 경유지가 포함되어 있으면 경유지를 피하기 위해 via : 접두사가 있어야합니다.

  • 요청은 운전 경로를위한 것이므로 모드 매개 변수는 운전으로 설정됩니다.

  • 요청에 departure_time 매개 변수가 포함됩니다.

  • 요청한 경로에 대한 트래픽 조건을 사용할 수 있습니다.

    https://developers.google.com/maps/documentation/directions/intro#DirectionsResponseElements

나는 당신이 API 키를 적용하지 않기 때문에 당신이 duration_in_traffic 필드를 볼 수 없습니다 이해합니다.

희망이 있습니다.

+0

Perfect! 'duration_in_traffic'은 제가 찾고 있던 것입니다 ('duration'과 다른 결과가 있다는 것을 깨닫지 못했습니다). 고마워요! – derekantrican

관련 문제