php从谷歌方向解析json数据
发布时间:2020-12-13 17:10:48 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试从谷歌方向解析json数据,但似乎无法访问任何值的访问权限.这是php代码; $url = "http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,ILdestination=Los+Angelessensor=false";$jsonfile = json_encode(file_get_contents($url))
我正在尝试从谷歌方向解析json数据,但似乎无法访问任何值的访问权限.这是php代码;
$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; 这里是(一些)json数据返回: { "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,"start_location" : { "lat" : 41.87811000000001,"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 south on S Federal St toward W Van Buren St","polyline" : { "points" : "eir~FdezuOhFIF?HAdFG" },"travel_mode" : "DRIVING" },{ "distance" : { "text" : "0.2 mi","value" : 328 },"value" : 51 },"end_location" : { "lat" : 41.875680,"lng" : -87.63366000000002 },"html_instructions" : "Turn right onto W Congress Pkwy","polyline" : { "points" : "czq~FpdzuO?jE@nEBfGAtB" },"start_location" : { "lat" : 41.87570,{ "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 I-290 W","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@AEvAGnBEz@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@tFdFTxCXhDVzBNtCFlEB|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@aBtEdA?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,{ "distance" : { "text" : "140 mi","value" : 224957 },"duration" : { "text" : "2 hours 13 mins","value" : 8008 },"end_location" : { "lat" : 41.53651000000001,"lng" : -90.32902000000001 } 返回的错误如下: ( ! ) Notice: Trying to get property of non-object in C:wamp2wwwphpAcademyGoogleDirectionsApiTMP25mnfz82oi.php on line 8 Call Stack # Time Memory Function Location 1 0.0004 366752 {main}( ) ..TMP25mnfz82oi.php:0 解决方法
Google已经返回JSON,因此您无需先对其进行编码.其次,’距离’键在响应结构中更深:
$origin = "Rome,Italy"; $destination = "Venice,Italy"; $key = "YOUR-OWN-KEY"; $url = "https://maps.googleapis.com/maps/api/directions/json?origin=".urlencode($origin).",IL&destination=" . urlencode( $destination) . "&sensor=false&key=" . $key; $jsonfile = file_get_contents($url); $jsondata = json_decode($jsonfile); echo $jsondata->routes[0]->legs[0]->distance; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |