I am trying to parse json data from google directions, but cannot access any of the values. Here is the PHP code:
$url = "http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles&sensor=false"; $jsonfile = json_encode(file_get_contents($url)); $jsondata = json_decode($jsonfile); echo $jsondata->distance;
here (some) of the json data is returned:
{ "routes" : [ { "bounds" : { "northeast" : { "lat" : 41.90085000000001, "lng" : -87.62979000000001 }, "southwest" : { "lat" : 34.052360, "lng" : -118.243560 } }, "copyrights" : "Map data ΓΒ©2012 Google", "legs" : [ { "distance" : { "text" : "2,015 mi", "value" : 3243390 }, "duration" : { "text" : "1 day 8 hours", "value" : 114318 }, "end_address" : "Los Angeles, CA, USA", "end_location" : { "lat" : 34.052360, "lng" : -118.243560 }, "start_address" : "Chicago, IL, USA", "start_location" : { "lat" : 41.87811000000001, "lng" : -87.62979000000001 }, "steps" : [ { "distance" : { "text" : "0.2 mi", "value" : 269 }, "duration" : { "text" : "1 min", "value" : 34 }, "end_location" : { "lat" : 41.87570, "lng" : -87.62969000000001 }, "html_instructions" : "Head \u003cb\u003esouth\u003c/b\u003e on \u003cb\u003eS Federal St\u003c/b\u003e toward \u003cb\u003eW Van Buren St\u003c/b\u003e", "polyline" : { "points" : "eir~FdezuOhFIF?HAdFG" }, "start_location" : { "lat" : 41.87811000000001, "lng" : -87.62979000000001 }, "travel_mode" : "DRIVING" }, { "distance" : { "text" : "0.2 mi", "value" : 328 }, "duration" : { "text" : "1 min", "value" : 51 }, "end_location" : { "lat" : 41.875680, "lng" : -87.63366000000002 }, "html_instructions" : "Turn \u003cb\u003eright\u003c/b\u003e onto \u003cb\u003eW Congress Pkwy\u003c/b\u003e", "polyline" : { "points" : " czq~FpdzuO?jE@nEBfGAtB " }, "start_location" : { "lat" : 41.87570, "lng" : -87.62969000000001 }, "travel_mode" : "DRIVING" }, { "distance" : { "text" : "14.0 mi", "value" : 22564 }, "duration" : { "text" : "17 mins", "value" : 1031 }, "end_location" : { "lat" : 41.873870, "lng" : -87.903170 }, "html_instructions" : "Continue onto \u003cb\u003eI-290 W\u003c/b\u003e", "polyline" : { "points" : "_zq~Fj} zuOCtD?fA?f@ ?pC?P?T@V @ zJ?@ @ T?J?J?F?N?@ ?J?J?N?p@ @ xA?h@ ?B?~A@xD ?h@ ?lB?n@ @ n@ ?n@ ?B@ ~G?f@A \\ EvAGnBEz@EpA ?JBlC?F?F?T?B?f@HtM ?R?J?t@ ?| CCvDAb@E ` EGlDKzCCd@OrBa @ rFGfAAd@ ?HAp@ ?` ADbJDzJ?fB?dENdFB~N?d@ ?RFlH@ ~C?J@ ~A?H?XFrKAx@ @ l@ ?n@ @^@ bANnQ?rAAnMCnC@tH @ x@FxJ ?hB@tM ?j@ ?p@BxFLrT ?B?H?jQBbG@ |AHxLBVJ~CLfC\\| EHtAHtAVpDf@tF \\dFTxCXhDVzBNtCFlEB| HBvEDlRAhC?xANxU@ ^ ?~A?nADxW@vA ?l@Dv [?|@?\\@ bCHdI@z @ ZxDh@zDRx @T|@ t@dCPf @ bBlEf@dB ^vA^jCR` CDv@ ?LHfBH` X?z@F | V@pF ?`@L| Y@v @@dKDbO?jEDdHZjHR` EBd@D `@ h@ ~IHpB@p @@ n@ ?p@BjACvFE ` IMrIQzIKfEc@tQEjCCn @}@ dUSjFCf@mA ~[ Ar@QlMObGWlEEx @sB` _@Ep @aBt\\EdA?FcAbU?XCrCKnC?zBR|LB`@B\\ ?Dz@hG @ F@Ft @ vDJl@pBfMnAtHZ |ERrEJhTH|GLvJ^ rHr@ |HX` G@ ` FLnX@ `B?` A@ |CAbCRnT?BJ` OHrJDbC@r @ XzZ?@DfHMdIe @ bHIhD@zHPhP ?@ @ V@fBN | O?T@j @ DnEHpQFlGDtCDtEDrEFlEt@jJF ~@ `@ dDPtAXtCd@ ` IFlC@j @ ?j@ ?hAHpLB~C@bDA | DErBCl@Av @O`C]~DWzB[lB[fB] zAo@dCc @ ~Am@jBo @ bBoCxG?@Sd @ g@vAY ~@St @W|@ _@bBUhAYdB ]vBMhA[ vCKtAEbAIxA?PAXCb@AhA " }, "start_location" : { "lat" : 41.875680, "lng" : -87.63366000000002 }, "travel_mode" : "DRIVING" }, { "distance" : { "text" : "140 mi", "value" : 224957 }, "duration" : { "text" : "2 hours 13 mins", "value" : 8008 }, "end_location" : { "lat" : 41.53651000000001, "lng" : -90.32902000000001 }
The returned error is as follows:
( ! ) Notice: Trying to get property of non-object in C:\wamp2\www\phpAcademy\GoogleDirectionsApi\TMP25mnfz82oi.php on line 8 Call Stack # Time Memory Function Location 1 0.0004 366752 {main}( ) ..\TMP25mnfz82oi.php:0