2017-02-14 3 views
0

오늘 나는 깨어났다. (잘 작동했다) 코드를 실행하고 싶지만 몇 가지 오류가있다. - 기원과 목적지가 여러 개인 요청을받은 후 json 응답을 반복하면서 정의되지 않은 오프셋 오류가 발생했다.Google 거리 매트릭스 API는 더 이상 여러 기원을 지원하지 않습니다.

$request = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?origins=$OriginUrl&destinations=$DestinationUrl&mode=driving"); 
$resultdistance = json_decode($request, true); 

for($i=0;$i<count($LocationDetails);$i++){ 

     $distanceM = $resultdistance['rows'][$i]['elements'][$i]['distance']['value']; 
     $distanceKM = $distanceM/1000; 
     $TravelDistance = round($distanceKM,1); // Distance from Act 1 and Act 2 
     $DistanceText = $resultdistance['rows'][$i]['elements'][$i]['distance']['text']; 
     $TimeToTravelSec = $resultdistance['rows'][$i]['elements'][$i]['duration']['value']; 
     $TimeToTravelText = $resultdistance['rows'][$i]['elements'][$i]['duration']['text']; 

} 

나는 그 요청이 하나의 기원과 함께 전송 된 것을 몇 가지 기원과 통지 주소 표시 줄에 수동으로 HTTP 요청을 입력 :

https://maps.googleapis.com/maps/api/distancematrix/json?origins=Hilton+Mauritius+Resort+&+Spa,+Coastal+Road,+Flic+en+Flac,+Mauritius|LAventure+du+Sucre,+B18,+Pamplemousses,+Mauritius&destinations=Cascavelle,+Riviere+Noire+District|Mauritius+Aquarium,+B38,+Camp+Bestel,+Pamplemousses+District,+Mauritius|Blue+Safari+Submarines,+B36,+Trou-aux-Biches,+Mauritius|&mode=driving

valid HTML

,

두 기원이 전송되었습니다 1. 힐튼 + 모리셔스 + 리조트 + & + 스파 + 해안 + 도로, + 플릭 + 욕실 + 플락, + 모리셔스 2.LAventure + 뒤 + 수크레, + B18, + 팜 플모 세스, + 모리셔스

첫 번째 질문 만 고려되었습니다 (위의 이미지를 보거나 요청을 보내고 결과를 보려면 링크를 클릭하십시오)! 며칠 전 약 5 개의 원점을 사용하고 있었는데 일하고있었습니다. 제발 도와주세요!

+0

나는이 이상한 사촌을 찾는다. 나는 단지 기원을 바꿨다. 그리고 그것은 잘 작동하는 것처럼 보인다. 나는 무엇을 발행해야하는지 잘 모르며 문서에서도 아무것도 찾을 수 없습니다. 이 문제에 관해 Google에 버그를보고하려고 시도하십시오. – Coder

+0

죄송합니다. 해결책을 찾았습니다. 작성한 것을 잊어 버렸습니다. 또한 원본을 바꿔서 문제가없는 것으로 나타났습니다. 그 다음 나는 Hilton & Mauritius + Resort + & + Spa, + Coastal Road, + Flic + en + Flac, + Mauritius에서이 &를 제거하는이 버그를 일으키는 것을 발견하기 위해 1 시간 이상을 보냈다. 잘 작동합니다. 거기에는 URL이 없어야합니다. – Elliott08

답변

0

내가 제거 '&'에서 :

Hilton+Mauritius+Resort+&+Spa,+Coastal+Road,+Flic+en+Flac,+Mauritius 

하고 & '기호'매개 변수가 이미를 사용하고 있기 때문에 원본의 이름과 대상의 이름에 & '텐데요 어떤 안 작동 이로 인해 문제가 발생할 수 있습니다.

+0

잘 알고 있습니다. 하지만 여전히 원래의 상호 교환은'&'를 포함하고 있으며 완벽하게 작동하는 것 같습니다. – Coder

+0

마지막 라인에서 누군가가 잘못 대답했을 수있는 대답을 업데이트 할 수 있습니까? 귀하의 요청 URL에 귀하의 요청 URL에 발신지와 목적지 인 – Coder

+0

이 다시 표시됩니다. 답변을 – Elliott08

관련 문제