代码描述:基于php的全国公交网接口调用代码实例 代码平台:聚合数据
// +----------------------------------------------------------------------
//----------------------------------
// 全国公交及路径规划查询调用示例代码 - 聚合数据 // 在线接口文档:http://www.juhe.cn/docs/135 //----------------------------------
header('Content-type:text/html;charset=utf-8');
//配置您申请的appkey
$appkey = \"*********************\";
//************1.公交线路查询************
$url = \"http://op.juhe.cn/189/bus/busline\"; $params = array(
\"key\" => $appkey,//应用APPKEY(应用详细页查询)
\"dtype\" => \"\",//返回数据的格式,xml或json,默认json
\"city\" => \"\",//城市名称(如:苏州)或者城市代码(如:0512) \"bus\" => \"\",//公交线路 );
$paramstring = http_build_query($params);
$content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){
if($result['error_code']=='0'){ print_r($result); }else{
echo $result['error_code'].\":\".$result['reason']; } }else{
echo \"请求失败\"; }
//**************************************************
//************2.公交站台经往车辆查询************ $url = \"http://op.juhe.cn/189/bus/station\"; $params = array(
\"key\" => $appkey,//应用APPKEY(应用详细页查询)
\"dtype\" => \"\",//返回数据的格式,xml或json,默认json
\"city\" => \"\",//城市名称(如:苏州)或者城市代码(如:0512) \"station\" => \"\",//公交站台名称 );
$paramstring = http_build_query($params); $content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){
if($result['error_code']=='0'){ print_r($result); }else{
echo $result['error_code'].\":\".$result['reason']; } }else{
echo \"请求失败\"; }
//**************************************************
//************3.公交线路换乘方案************ $url = \"http://op.juhe.cn/189/bus/transfer\"; $params = array(
\"key\" => $appkey,//应用APPKEY(应用详细页查询)
\"dtype\" => \"\",//返回数据的格式,xml或json,默认json
\"city\" => \"\",//城市名称(如:苏州)或者城市代码(如:0512) \"xys\" => \"\",//途经点坐标集合
\"type\" => \"\",//行驶类型 0表示最快捷模式,尽可能乘坐轨道交通和快速公交线路; 2表示最少换乘模式,尽可能减少换乘次数; 3表示最少步行模式,尽可能减少步行距离; 4表示最舒适模式,;乘坐有空调的车线; 5表示纯地铁模式,只选择地铁换乘 );
$paramstring = http_build_query($params); $content = juhecurl($url,$paramstring); $result = json_decode($content,true); if($result){
if($result['error_code']=='0'){ print_r($result); }else{
echo $result['error_code'].\":\".$result['reason']; } }else{
echo \"请求失败\"; }
//**************************************************
/**
* 请求接口返回内容
* @param string $url [请求的URL地址] * @param string $params [请求的参数] * @param int $ipost [是否采用POST形式] * @return string */
function juhecurl($url,$params=false,$ispost=0){ $httpInfo = array(); $ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 ); curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' ); curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 ); curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true ); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); if( $ispost )
{
curl_setopt( $ch , CURLOPT_POST , true );
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params ); curl_setopt( $ch , CURLOPT_URL , $url ); } else {
if($params){
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params ); }else{
curl_setopt( $ch , CURLOPT_URL , $url); } }
$response = curl_exec( $ch ); if ($response === FALSE) {
//echo \"cURL Error: \" . curl_error($ch); return false; }
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) ); curl_close( $ch ); return $response; }
因篇幅问题不能全部显示,请点此查看更多更全内容