全国公交查询API及PHP示例

浏览:1752 发布日期:2016/12/30 分类:技术分享 关键字: 公交API
全国公交查询API,支持支持全国400多个主要城市
1.获取城市接口
2.公交线路查询接口
3.站台查询接口
4.公交换乘接口
5.周边公交站台接口
文档地址:https://www.juhe.cn/docs/api/id/114

PHP示例:<!--?php
// +----------------------------------------------------------------------
// | JuhePHP [ NO ZUO NO DIE ]
// +----------------------------------------------------------------------
// | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: Juhedata <info@juhe.cn-->
// +----------------------------------------------------------------------
 
//----------------------------------
// 全国公交查询调用示例代码 - 聚合数据
// 在线接口文档:http://www.juhe.cn/docs/114
//----------------------------------
 
header('Content-type:text/html;charset=utf-8');
 
 
//配置您申请的appkey
$appkey = "*********************";
 
 
 
 
//************1.获取城市接口************
$url = "http://api.juheapi.com/bus/citys";
$params = array(
      "key" => $appkey,//应用APPKEY(应用详细页查询)
);
$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://api.juheapi.com/bus/line";
$params = array(
      "key" => $appkey,//应用APPKEY(应用详细页查询)
      "city" => "",//需要查询的城市,所有支持的城市由接口1提供。
      "q" => "",//待查询的线路,如: 110,快线1号
);
$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://api.juheapi.com/bus/stat";
$params = array(
      "key" => $appkey,//应用APPKEY(应用详细页查询)
      "city" => "",//需要查询的城市,所有支持的城市由接口1提供。
      "q" => "",//待查询的站台名称,如: 西直门
);
$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 "请求失败";
}
//**************************************************
 
 
 
 
//************4.公交换乘接口************
$url = "http://api.juheapi.com/bus/transfer";
$params = array(
      "key" => $appkey,//应用APPKEY(应用详细页查询)
      "city" => "",//需要查询的城市,所有支持的城市由接口1提供。
      "start_lat" => "",//起点纬度
      "start_lng" => "",//起点经度
      "end_lat" => "",//终点纬度
      "end_lng" => "",//终点经度
      "rc" => "",//换乘偏好  0:综合排序 1:换乘次数 2:步行距离 3:时间 4:距离 5:地铁优先 默认:0
);
$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 "请求失败";
}
//**************************************************
 
 
 
 
//************5.周边公交站台接口************
$url = "http://api.juheapi.com/bus/nearby";
$params = array(
      "key" => $appkey,//应用APPKEY(应用详细页查询)
      "city" => "",//需要查询的城市,所有支持的城市由接口1提供。
      "lat" => "",//起点纬度
      "lng" => "",//起点经度
      "dist" => "",//查询半径
);
$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;
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>