Google方向API为TrafficModel

时间:2015-12-30 09:32:57

标签: php google-maps-api-3

根据谷歌API文档,所有流量模型都应该有不同的值,但我得到的相同值为BEST_GUESS,PESSIMISTIC,OPTIMISTIC。

我正在使用以下代码

//Source address
$a = 'Los Angeles International Airport, 1 World Way, Los Angeles, CA 90045, United States'; 
//Destination address
$b = 'Beverly Wilshire, Beverly Hills (A Four Seasons Hotel), 9500 Wilshire Boulevard, Beverly Hills, CA 90212, United
        States';
//Pass source and destination address in google map API for PESSIMISTIC
$url = 'https://maps.googleapis.com/maps/api/directions/xml?origin='. urlencode($a).'&destination='. urlencode($b).'&departure_time=1451491810&travelMode=google.maps.TravelMode.DRIVING&drivingOptions=trafficModel:google.maps.TrafficModel.PESSIMISTIC&key=AIzaSyC7h7m5bRs-BZwk0XTXEQTB74dZujeLzZs';
//output:  duration_in_traffic = 50 mins

//Pass source and destination address in google map API for OPTIMISTIC
$url = 'https://maps.googleapis.com/maps/api/directions/xml?origin='. urlencode($a).'&destination='. urlencode($b).'&departure_time=1451491810&travelMode=google.maps.TravelMode.DRIVING&drivingOptions=trafficModel:google.maps.TrafficModel.OPTIMISTIC&key=AIzaSyC7h7m5bRs-BZwk0XTXEQTB74dZujeLzZs';
//output:  duration_in_traffic = 50 mins

//Pass source and destination address in google map API for BEST_GUESS
$url = 'https://maps.googleapis.com/maps/api/directions/xml?origin='. urlencode($a).'&destination='. urlencode($b).'&departure_time=1451491810&travelMode=google.maps.TravelMode.DRIVING&drivingOptions=trafficModel:google.maps.TrafficModel.BEST_GUESS&key=AIzaSyC7h7m5bRs-BZwk0XTXEQTB74dZujeLzZs';
    //output:  duration_in_traffic = 50 mins

更新

我正在使用

// departure_time = 04-january-2016 // 1451898000

$url = 'https://maps.googleapis.com/maps/api/directions/xml?origin='. urlencode($a).'&destination='. urlencode($b).'&departure_time=1451898000&mode=driving&traffic_model=pessimistic&key=AIzaSyC7h7m5bRs-BZwk0XTXEQTB74dZujeLzZs';

//Output

pessimistic==>>
duration_in_traffic => 31 mins

optimistic==>
duration_in_traffic => 25 mins

best_guess==>
duration_in_traffic => 25 mins

Above responses are not correct as per the live google map

https://www.google.com/maps/dir/Los+Angeles+International+Airport,+1+World+Way,+Los+Angeles,+CA+90045,+United+States/Beverly+Hills,+CA/@34.0077875,-118.4878535,12z/data=!3m1!4b1!4m17!4m16!1m5!1m1!1s0x80c2b0d213b24fb5:0x77a87b57698badf1!2m2!1d-118.40853!2d33.9415889!1m5!1m1!1s0x80c2bc04d6d147ab:0xd6c7c379fd081ed1!2m2!1d-118.4003563!2d34.0736204!2m3!6e0!7e2!8j1451898000

我做错了什么?

1 个答案:

答案 0 :(得分:3)

您已部分使用Javascript-API的参数,但必须使用the webservice的参数。

1

    travelMode=google.maps.TravelMode.DRIVING

应该是

    mode=driving

(你可以省略它,它是默认的)

2

 drivingOptions=trafficModel:google.maps.TrafficModel.[value]

必须是

 traffic_model=[value]

其中[value]可能是best_guessoptimisticpessimistic

所以$url应该例如是

$url = 'https://maps.googleapis.com/maps/api/directions/xml?origin='. urlencode($a).'&destination='. urlencode($b).'&departure_time=1451491810&mode=driving&traffic_model=pessimistic&key=AIzaSyC7h7m5bRs-BZwk0XTXEQTB74dZujeLzZs';

pessimistic duration_in_traffic = 1小时19分钟

optimistic duration_in_traffic = 28分钟

best_guess duration_in_traffic = 50分钟