公交线路换乘代码PHP,微信开发之公交换乘功能代码详解
1)API申请
2)API调用
3)[b]效果展示[/b]
4)精准查询
--------------------------------------------------------------------------
1)API申请
爱帮提供查询接口API,需要申请Key www.aibang.com
查询数量有限制,2013-12-4 最多 1000次/每天 10次/分钟
返回json数据
提供数据说明
提供demo文件
2)API调用
调用API取得数据后,按自己的格式输出即可/*
aibang's api return josn data
d_eng (sh109419@163.com)
2013-12-4
*/
define("APP_KEY", "xx00ac396d6d75e8681fc8380060c5b2");
include_once "ABClient.php";
//header("Content-Type:text/html; charset=utf-8");
function bustransfer($city,$start,$end) {
$client = new ABClient(APP_KEY);
list($code, $arr) = $client->getBusTransfer($city, array("start_addr" =>$start, "end_addr"=>$end));
if ($code<>200){
return false;
}
$ret ="";
$buses = $arr[buses][bus];
// show the top 3 records
$ret = $start ."-->".$end."\n";
$count = 1;
foreach ($buses as $bus) {
if ($count > 3) break;
$segments =$bus[segments][segment];
$ret .= "\n";
// get line name and remove remark
$linename = "";
foreach($segments as $segment) {
if (!empty($linename)) $linename .= '--' ;
$linename .= shortlinename($segment[line_name]);
}
$ret .= $linename . "\n" ;
$total = sprintf("%d分钟 %d米 步行%d米",$bus[time],$bus[dist],$bus[foot_dist]);
$ret .= $total . "\n" ;
// detail
$from = sprintf("从 %s ",$start);
$ret .= $from;
foreach($segments as $segment) {
if ($segment[foot_dist] > 0) {
$segfoot = sprintf("步行%d米 到达 %s",$segment[foot_dist],$segment[start_stat]);
$ret .= $segfoot . "\n" ;
}
$stats = substr_count($segment[stats],';');
$line = sprintf("乘坐 %s(%d站) 到达 %s",shortlinename($segment[line_name]),$stats,$segment[end_stat]);
$ret .= $line . "\n" ;
}
if ($bus[last_foot_dist] > 0) {
$lastfoot = sprintf("步行%d米 到达 %s",$bus[last_foot_dist],$end);
$ret .= $lastfoot;
}
}
return $ret;
}
function shortlinename($linename){
return substr($linename,0,strpos($linename,'('));
}
$a=bustransfer("南昌","老福山","青山路口");
var_dump($a);
3)效果展示
4)精准查询
公交查询中,要求输入的是公交/地铁的站名
如果不知道准确的站名,往往得不到结果,
在网页上,系统可以通过提示选择准确的公交站点来完成,
但,微信上这么做就不方便了
改进方案如下:
爱帮有个公交站点查询API
通过这个API找到用户输入信息附近的站点并取出第一个作为公交换乘的站点
这样,公交换乘查找成功的机率就增加了。
【相关推荐】
公交线路换乘代码PHP,微信开发之公交换乘功能代码详解相关推荐
- 微信服务号及支付功能接入详解
本文同步至个人博客 微信服务号及支付功能接入详解,转载请注明出处 最近在实现微信服务号支付功能,这边对接入商户资料审核及接口接入相关内容进行梳理. 旨在理清相关帐号的申请流程.整理服务开通.开发数据的 ...
- 【weiphp微信开发教程】留言板插件开发详解
基于weiphp框架的留言板插件教程: 1.功能分析 传统的留言板应该具有发布留言.查看留言.回复留言.管理留言等功能,本教程开发的是最基本的留言板,仅包含发布留言和查看留言两个功能,根据功能用boo ...
- 微信开发获取access_token(凭证)接口的详解
在微信开发中,就有一些接口会涉及到获取接口凭证的接口,开发文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp142114018 ...
- php 微信开发实战pdf,微信开发实战之模块化的实例详解
在任何一个大型应用中模块化是很常见的,与一些更传统的编程语言不同的是,JavaScript (ECMA-262版本)还不支持原生的模块化. Javascript社区做了很多努力,在现有的运行环境中,实 ...
- 微信开发中消息回复的代码_消息中的消息
微信开发中消息回复的代码 Ste·ga·no·graph·y / stegəˈnägrəfi / (noun): the practice of concealing messages or info ...
- 那些年微信开发过的鸡肋功能,及其带给我们的思考
本文由作者"卫夕"(ID:weixizhibei)原创,作者为资深广告产品经理,致力于剖析互联网广告的基本逻辑.思路及技巧. 1.引言 坐拥7亿日活的微信极其成功,有人说微信的成功 ...
- 微信直接回复图片+php,php微信开发之图片回复功能
本文实例为大家分享了php微信图片回复功能的具体代码,供大家参考,具体内容如下 /** *wechatphptest */ //defineyourtoken define("TOKEN&q ...
- 微信小程序云开发入门(二)-数据库详解
微信小程序云开发入门(二)-数据库详解 接上一篇:微信小程序云开发入门(一) 摘要: 因为微信小程序云数据库有点类似传统的关系型数据库,但又有所不同.所以刚入手的时候会有点困扰,经过一段时间的学习和摸 ...
- 《微信小程序开发》 页面导航最强详解 | 如何对小程序页面进行跳转?
<微信小程序开发> 页面导航最强详解 | 如何对小程序页面进行跳转? 文章目录 <微信小程序开发> 页面导航最强详解 | 如何对小程序页面进行跳转? 一.微信小程序导航 二.命 ...
最新文章
- TensorFlow与PyTorch之争,哪个框架最适合深度学习
- linux搭建vsftpd虚拟用户访问
- kmeans 是Nondeterministic algorithm
- Gym - 101102C
- MyEclipse 2014中 Window--customize perspective 功能 打不开的解决办法
- 汉字正字表达式解决方案
- [POJ 3709] K-Anonymous Sequence(斜率优化dp / 动态维护凸包)
- 开源代码的使用 二次开发
- 学习Ruby的10条理由
- 微博表情插入mysql数据库,表情都是四字节字符
- er ubnt x设置教程_ubnt的er-x做交换机应该怎么设置啊?
- 计算机课程成绩认定管理办法,全日制普通本科生课程学分成绩对接认定管理办法...
- hive整和mysql外表_hive中的外表EXTERNAL TABLE
- python调用foxmail 发邮件_foxmail 收取已发送邮件
- darda oracle tfa_OSW - feiyun8616 - 博客园
- 详解myeclipse和maven的clean和build
- SSL 3.0 安全漏洞修复方法
- 7个秘诀,带你由数据分析师成长为数据科学家
- 一图解千言,从兴趣意念直达搜索目标!
- Matlab:创建工程