php从谷歌方向解析json数据

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php从谷歌方向解析json数据脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试从谷歌方向解析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@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,{ "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:\wamp2\www\PHPACADemy\GoogleDirectionsApi\tmp25mnfz82oi.PHP on line 8
Call Stack
#   Time    Memory  Function    Location
1   0.0004  366752  {main}( )   ..\TMP25mnfz82oi.PHP:0

解决方法

@H_304_34@ 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;

脚本宝典总结

以上是脚本宝典为你收集整理的php从谷歌方向解析json数据全部内容,希望文章能够帮你解决php从谷歌方向解析json数据所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。