代码拉取完成,页面将自动刷新
同步操作将从 celticsv5/畅行吉林_hzs 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>公家查询</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link rel="stylesheet" type="text/css" href="iconfont/iconfont.css" />
<link rel="stylesheet" type="text/css" href="css/all_css.css" />
<link rel="stylesheet" type="text/css" href="css/weui/base.css" />
<link rel="stylesheet" type="text/css" href="lib/weui.css" />
<link rel="stylesheet" type="text/css" href="css/weui/jquery-weui.css" />
<link rel="stylesheet" type="text/css" href="css/gundong2.css" />
<link rel="stylesheet" type="text/css" href="css/busNew.css" />
<!--<link rel="stylesheet" type="text/css" href="css/mui.min.css" />-->
<style type="text/css">
* {
/*user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;*/
/*禁止选中APP中的文字*/
}
body {
background-color: #ECEBF3;
}
#list_ {
margin-top: -50px;
}
#main_ {
margin-top: 25px;
}
.bus_main {
max-width: 640px;
min-width: 320px;
margin: 0px auto;
}
.app_head_left {
float: left;
width: 10%;
padding-left: 6px;
padding-top: 6px;
}
.app_head_left a {
color: #FFFFFF;
font-size: 1.5em;
font-weight: bold;
}
.app_head_mid {
float: left;
width: 80%;
padding-top: 5px;
}
.app_head_right {
float: right;
width: 10%;
text-align: right;
padding: 12px;
}
.app_head_right a {
color: #FFFFFF;
font-size: 1.3em;
font-weight: bold;
font-family: "黑体";
}
#app_head_title {
text-align: center;
color: #FFFFFF;
font-size: 1.6em;
font-family: "宋体";
font-weight: bold;
}
.bus_head {
background-color: #5595D5;
height: 70px;
padding: 25px 20px;
max-width: 640px;
min-width: 320px;
width: 100%;
margin: 0px auto;
position: fixed;
top: 0px;
/*层级低于遮罩层*/
z-index: 98;
}
/*---遮罩层---*/
.opacity {
opacity: 0.7;
filter: alpha(opacity=30);
background-color: #000;
}
.mask {
position: fixed;
top: 0;
height: 100%;
width: 100%;
/*层级应大于底部选项卡*/
z-index: 1500;
}
#tcLoading {
position: absolute;
top: 40%;
left: 32%;
width: 35%;
height: 15%;
font-size: 0.9em;
background-image: url(img/index/yjzPic.gif);
background-repeat: no-repeat;
background-size: 100% 100%;
text-align: right;
z-index: 16;
color: #FFFFFF;
}
</style>
<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=MMh4H9m5FLBpizlht86GnGynuaM0oGKz"></script>
</head>
<body ontouchstart>
<!--遮罩层-->
<div class="mask opacity" id="opacityDiv" style="display: none;">
<div id="tcLoading">
努力加载中...
</div>
</div>
<div class="bus_main">
<div class="bus_head">
<div class="app_head_left">
<a onclick="returnBtn_bus()" class="iconfont"></a>
</div>
<div class="app_head_mid">
<p id="app_head_title">公交查询</p>
</div>
</div>
<div class="bus_mid">
<div class="sec_line">
<div id="InputLine">
<form action="" class="searchForm">
<input type="search" class="suggestId" id="suggestId_line" size="20" placeholder="搜索公交线路、车站" />
</form>
<a id="delBtn" href="javascript:;" class="iconfont" style="display: none;"></a>
<a id="searchBtn" href="javascript:;" class="iconfont"></a>
</div>
</div>
<div id="searchPage" style="display: none;">
<input type="hidden" id="searchPageDisplay" />
<input type="hidden" id="ifFromStopSearchToLine" value="" />
<!--搜索历史-->
<div id="searchHistoryDiv">
<div class="busSearchZw">
暂无历史记录
</div>
<ul id="busSearchHistoryUl" class="resultUl" style="margin-bottom: 30px;">
<!--<li>
<img src="img/bus/busSearchLine.png" class="lineImg" /> 62路
</li>
<li>
<img src="img/bus/busSearchStop.png" class="stopImg" /> 解放大路
<span class="stopSpan">公交:62路</span>
</li>-->
</ul>
<div id="clearHistory" onclick="clearHistory()">
<a class="iconfont"></a> <span>清空历史搜索 </span>
</div>
</div>
<!--搜索结果-->
<!--查询无结果图-->
<div id="searchNullImg" style="display: none;">
<img src="img/bus/searchNullIcon.png" class="nullSearchIcon" />
<br /> 未查询到合适的结果
</div>
<div id="searchResultDiv" class="pb15" style="display: none;">
<div class="searchResultTitle" id="line_title" onclick="foldList(this)">
线路
</div>
<ul id="BusLineResultUl" class="resultUl">
<!--<li>
<img src="img/bus/busSearchLine.png" /> 62路
</li>-->
</ul>
<div class="searchResultTitle" id="sta_title" onclick="foldList(this)">
车站
</div>
<ul id="BusStopResultUl" class="resultUl">
<!--<li>
<img src="img/bus/busSearchStop.png" /> 解放大路
<span>朝阳区永昌路12号</span>
</li>-->
</ul>
</div>
</div>
<!--二级标题头-->
<div class="weui_tab" id="bus_daohang">
<div class="weui_navbar" id="secT_Div" style="display: none;">
<a href="#list_" class="weui_navbar_item weui_bar_item_on" id="listBtn">
<b>列表</b>
</a>
<a href="#main_" class="weui_navbar_item" id="mainBtn">
<b>详情</b>
</a>
</div>
<div class="weui_tab_bd">
<div id="list_" class="weui_tab_bd_item weui_tab_bd_item_active">
<div class="searchResultTitle" id="nearByStaTitle" style="display: none;">
附近车站 (约500米范围)
</div>
<!--查询无结果图-->
<div id="searchNullImg2" style="display: none;">
<img src="img/bus/searchNullIcon.png" class="nullSearchIcon" />
<br /> 附近似乎没有公交车站
</div>
<!--slideToggle()-->
<ul id="busStop_ul" class="nearStaUl" style="padding-bottom: 30px !important;">
<!--!!新版:展示最近距离站名列表-->
<!--<li>
<img src="img/bus/busSearchStop.png" class="stopImg" onclick="stationOfAllLine(this)" /> 解放大路111
<span>朝阳区永昌路12号</span>
</li>
<ul class="nearStationOfLineUl">
<li class="lineLi">
<a class="lineMain_left">
<span class="msg1">
<label class="lineNameLeft">135路</label><br /><c class="nextStopName">下一站 · 德惠路</c>
</span>
<span class="msg2">
<d class="timeRight">
<b class="nextBusTime">3</b>
<img class="wifi_fh" src="img/bus_new/shishi_Icon.png"/>分
</d>
<br />
<e class="nextBusLabel">下一班时间</e>
</span>
</a>
<a class="lineMain_right">
<img src="img/bus_new/changeFx.png" />
</a>
</li>
</ul>-->
<!--!!旧版:展示推荐线路-->
<!--<li>
<a class="lineMain_left">
<span class="msg1">
<label class="lineNameLeft">135路</label><br /><c class="nextStopName">下一站 · 德惠路</c>
</span>
~~~~~~
<span class="msg2">
<d class="timeRight"><b class="nextBusTime">3</b>
<img class="wifi_fh" src="img/bus_new/shishi_Icon.png"/>
分</d><br /><e class="nextBusLabel">下一班时间</e>
</span>
</a>
<a class="lineMain_right">
<img src="img/bus_new/changeFx.png" />
</a>
</li>-->
</ul>
</div>
<div id="main_" style="overflow-y: hidden !important;" class="weui_tab_bd_item">
<input type="hidden" id="mainPositionJdVal" />
<input type="hidden" id="mainPositionWdVal" />
<input type="hidden" id="mainUdVal" />
<!--常规详情页-->
<div id="page_main">
<!--上部 首末站 首末班时间-->
<div class="main_title">
<h2 id="show1"></h2>
<p id="show2"></p>
</div>
<!--中间 下班时间 同站线路 时刻表-->
<div class="main_mid_1">
<!--到站时间-->
<div class="mid_1_top tc">
<span class="msgInMian">
<d class="timeRight">
<b class="nextBusTimeMain" id="thisStopNum"></b>
<img class="wifi_fh" src="img/bus_new/shishi_Icon.png"/>
<f class="labelStyle" id="thisStopLabel"></f></d>
<br />
<e class="nextBusLabel" id="thisStopAway"></e>
</span>
</div>
<!--同站线路-->
<!--<div class="mid_1_bottom_left tc">
同站线路<img src="img/bus_new/1_tzxl_icon.png" />
</div>-->
<!--时刻表-->
<div class="mid_1_bottom_right tc" onclick="searchTimeList()">
时刻表<img src="img/bus_new/2_sjb_icon.png" />
<input id="skb" type="hidden" value="" />
</div>
</div>
<!--整条线路 线段-->
<div class="main_mid_2">
<div class="box" id="index_gd">
<img src="img/bus_new/dsj_icon.png" id="dsjIcon" class="dsjIcon" />
<img src="img/bus_new/station_dangqian.png" id="thisPIcon" class="thisStopIcon" />
<hr class="trueBusline" id="hr_line" />
<ul class="startGD" id="Line_ul">
<!--js添加dom-->
<!--<li>
<a class="stopPoint">
<img src="img/bus_new/stopPIcon.png" />
</a>
<p>1</p>
</li>-->
</ul>
</div>
</div>
</div>
<!--时刻表显示页-->
<div id="page_timeList" style="display: none;">
<div class="main_title">
<h2 id="skb_title"></h2>
<p>当前线路上的所有车辆</p>
</div>
<ul id="gpsBusUl">
<!--<li>
<div class="gpsList_left">
<p class="nextStop_1">下一站 · 同志街<img class="wifi_fh" src="img/bus_new/shishi_Icon.png"/></p>
<p class="gpsMsg_2">1分钟/355m</p>
</div>
<div class="gpsList_right">
<span class="cph">
编号 吉JE0056
</span>
</div>
</li>-->
</ul>
</div>
</div>
</div>
</div>
</div>
<div id="footer1" class="bottom">
<div class="loadingStopBtn" onclick="loadingBusSy()">
<img src="img/bus_new/loadingoBtn.png" />
</div>
</div>
<footer id="footer2" class="bottom_foot" style="display: none;">
<li>
<!--点击换向按钮-->
<a onclick="loadingMainPageBtn(this,'flag')">
<div>
<img src="img/bus_new/changeFx_bus.png" />
</div>
<p>换向</p>
</a>
</li>
<li>
<!--点击刷新按钮-->
<a onclick="loadingMainPageBtn(this,'flag')" id="loadBottomBtn">
<div>
<img src="img/bus_new/loadingBtn_bus.png" />
</div>
<p>刷新</p>
</a>
</li>
</footer>
</div>
<script src="js/jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script>
<script src="js/md5.js" type="text/javascript" charset="utf-8"></script>
<script src="js/back_end.js" type="text/javascript" charset="utf-8"></script>
<script src="js/weui/jquery-weui.js" type="text/javascript" charset="utf-8"></script>
<script src="js/mui.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var cityStr = ("" + window.location).split("=")[1]; //获得城市名
// type = bus_station_info //站点或线路查询
// FLAG = 0 网站端只返回站点模糊信息 1 手机端返回站点和线路的模糊信息
// isFuzzy = true / false 是否模糊查询站点信息
// AREA = cc / sy cc是长春 sy是松原
// STATIONNAME = 要查询的信息
//
// type = bus_near_station_info 附近站点查询
// LON = 经度
// LAT = 维度
// FLAG = 0 长春 1 松原
var clicktag = 0; //设置按钮点击默认值0 设置禁止刷新和换向按钮快速点击
var hxType; //点击换向或刷新的方式 0为默认形势、1为搜索时的方式
// var my_jd = "124.819822";
// var my_wd = "45.123834"; //定义当前地点为松原市”飞宇超市“附近
//一屏幕横向展示7个站名线段 屏幕宽度除以7计算一个线段宽度
var screenW = document.documentElement.clientWidth;
var screenH = document.documentElement.clientHeight;
var buslineLiW = screenW / 7;
// var stopName = ["卓展", "西安大路", "康平街", "建设街", "德惠路", "南昌路", "西安大路1", "西安大路2", "西安大路3", "弘海小区"];
var wd;
var jd; //设置经纬度为全局变量
$("#searchPage").height(screenH - 125);
//刷新整个页面按钮
function loadingBusSy() {
window.location.reload();
}
var jlCity; //设置查询的城市 全局
//获取附近公交站点
$(function() {
hxType = "0"; //页面加载 换向方式为默认
$("#searchPageDisplay").val("0"); //页面加载时 搜索界面为隐藏状态 标识为0
$("#ifFromStopSearchToLine").val("0"); //页面加载时 当前站定位模式默认为当前位置“0” 由搜索车站定点模式为“1”
console.log("城市-----------》:" + cityStr);
if(cityStr == "sy") {
jlCity = "sy";
$("#app_head_title").html("松原公交");
if(!localStorage.syBusSearch) { //搜索历史本地存储 松原
var arr = [];
localStorage.syBusSearch = JSON.stringify(arr);
}
} else if(cityStr == "cc") { //搜索历史本地存储 长春
jlCity = "cc";
$("#app_head_title").html("长春公交");
if(!localStorage.ccBusSearch) {
var arr = [];
localStorage.ccBusSearch = JSON.stringify(arr);
}
}
getHistoryList(jlCity); //历史记录页面渲染
// 扩展API加载完毕后调用onPlusReady回调函数
document.addEventListener('plusready', getGeocode, false);
//点击详情页底部的刷新按钮重新加载 后缀有flag=1 加载后重新进入详情页 并选择该条线路
});
//后退按钮点击事件
function returnBtn_bus() {
// $("#ifFromStopSearchToLine").val("0"); //每次点击后退按钮 将定位当前站点方式归为默认
if($("#list_").hasClass("weui_tab_bd_item_active")) { //当页面处于列表展示模式下,点击后退跳到选择城市模式
if($("#searchPageDisplay").val() == "1") {
$("#gpsBusUl").html("");
// $("#searchPage").slideUp(300);
$("#searchPage").hide();
$("#suggestId_line").val("");
$(".weui_tab_bd").show();
$("#footer1").show();
$("#searchPageDisplay").val("0");
//与13==隐藏显示搜索相反
$("#searchHistoryDiv").show();
$("#searchResultDiv").hide();
$("#BusLineResultUl").html("");
$("#BusStopResultUl").html("");
$("#searchNullImg").hide();
$(".searchResultTitle").show();
$("#BusLineResultUl").removeClass("mb15");
} else {
window.location.href = "javascript:history.go(-1)";
}
} else { //当处于详情展示页面
// console.log("判断:" + $("#skb").val());
console.log("hxType:--->" + hxType);
if($("#skb").val() == "1") {
$("#page_timeList").hide();
$("#page_main").show("fast");
$("#skb").val("0");
} else {
$("#gpsBusUl").html("");
if(hxType != 0) { //当前处于通过搜索页面到达的详情页
// alert("从搜索退出");
FromMainReturnToSearch();
var title = "";
title = jlCity == "cc" ? "长春公交" : "松原公交";
hxType = 0;
$("#app_head_title").html(title);
} else { //通过线路列表到达的详情页
// alert("从普通模式退出");
$("#listBtn").click();
$(".sec_line").show(); //隐藏输入框
$("#footer1").show();
$("#footer2").hide(); //为详情页底部导航栏
var title = "";
title = jlCity == "cc" ? "长春公交" : "松原公交";
hxType = 0;
$("#app_head_title").html(title);
}
}
}
}
// 通过定位模块获取位置信息
function getGeocode() {
// map.clearOverlays(); //清除地图上所有覆盖物
plus.geolocation.getCurrentPosition(geoInf, {
geocode: true
});
}
//得到当前位置json字符串信息 及经纬度坐标 海拔 移动 移动速度的方法
function geoInf(position) {
var addressStr = position.addresses;
var codns = position.coords; //获取地理坐标信息;
var lat = codns.latitude; //获取到当前位置的纬度;
var x = lat;
var longt = codns.longitude; //获取到当前位置的经度
var y = longt;
// console.log("安卓");
var src = new plus.maps.Point(Number(y), Number(x));
var srcP = new BMap.Point(y, x);
getBaiduPoint(srcP);
}
function getBaiduPoint(ggPoint) {
var convertor = new BMap.Convertor();
var pointArr = [];
pointArr.push(ggPoint);
convertor.translate(pointArr, 3, 5, translateCallback);
}
//安卓版转换
translateCallback = function(data) {
if(data.status === 0) {
//dst = new plus.maps.Point(data.points[0].lng,data.points[0].lat);
var pointY = data.points[0].lng;
var pointX = data.points[0].lat;
//判断设备是否为IOS
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if(isiOS == true) {
//IOS系统
// console.log("Ios");
src = new plus.maps.Point(Number(pointY), Number(pointX - 0.0037));
pointY = pointY + 0.0068;
pointX = pointX + 0.0021;
// console.log("经纬度:"+pointY+","+pointX);
var startPstr = new BMap.Point(pointY, pointX);
}
var baiduPoint = new BMap.Point(pointY, pointX);
// console.log(pointY + "," + pointX);
jd = pointY;
wd = pointX; //给经纬度赋值
$("#mainPositionJdVal").val(jd);
$("#mainPositionWdVal").val(wd);
// alert($("#mainPositionJdVal").val(jd));
// console.log("经纬度:"+jd+","+wd);
//!!旧版
// getTjLine("");
//!!新版hzs
getNearStation(jd, wd);
// var
} else {
$.alert("定位失败,请检查您是否打开了定位服务", "提示");
}
}
//获取附近500米以内的公交站点
function getNearStation(jingdu, weidu) {
//获取展示区域高度
var boxH = screenH - 70 - 70 - 40;
$("#busStop_ul").height(boxH).css("overflow-y", "auto");
// console.log("城市名--------》"+cityStr);
var city = cityStr == "cc" ? 0 : 1; //获取FLAG标识
// alert(city);
$.ajax({
type: "post",
url: Url,
data: { //定位方法!!!!hzs测试
"type": "bus_near_station_info",
// "LON": "125.325712", //jingdu, //经度(吉林省交通运输厅坐标)
"LON": jingdu,
// "LAT": "43.883753", //weidu,//纬度
"LAT": weidu,
"FLAG": city //城市标识 长春0 松原1
},
async: false,
cache: false,
dataType: "jsonp", //数据类型为jsonp
jsonp: "callbackparam", //服务端用于接收callback调用的function名的参数
jsonpCallback: "jsonpCallback1",
success: function(data) {
if(data.CODE == 1) {
var d = data.DATA;
var m = data.MDATA;
if(isEncrypt(d, m)) {
// console.log("d.length----?" + d.length);
d = eval(d); //倒序去掉
if(d.length > 0) {
$("#nearByStaTitle").show();
for(var i = 0; i < d.length; i++) {
var Sta = d[i].STATION;
var Address = ""; //地址
var AddressArr = d[i].ADDRESS.split(",");
for(var n = 2; n < AddressArr.length; n++) {
Address += AddressArr[n];
}
// console.log("地址------》" + Sta + "!!" + Address + "!!" + d[i].JULI);
var li = $('<li data-n="' + (i + 1) + '" data-sta="' + Sta + '" onclick="stationOfAllLine(this)"><img src="img/bus/busSearchStop.png" class="stopImg" /> ' + Sta + '</li>');
var span = $('<span>' + Address + '</span>');
$(li).append(span);
$("#busStop_ul").append(li);
}
} else {
$("#searchNullImg2").show();
}
} else {
errMD();
}
} else {
$.alert("暂无数据", "提示", function() {
window.location.href = "javascript:history.go(-1)";
});
}
// console.log(indexArr);
// getPositionMsg();
},
error: function(data) {
$.alert("连接超时,请检查网络设置", "提示");
}
});
}
var indexArr = []; //创建索引数组
//点击附近车站的其中一条查询该站下的所有公交线 ~~~~~~new1
function stationOfAllLine(t) {
$("#opacityDiv").show();
indexArr = [];
currentIndex = 0;
$(".nearStationOfLineUl").remove();
var stationName = $(t).attr("data-sta");
console.log("要查的站名------》" + stationName);
// type = bus_station_info //站点或线路查询
// FLAG = 0 网站端只返回站点模糊信息 1 手机端返回站点和线路的模糊信息
// isFuzzy = true / false 是否模糊查询站点信息
// AREA = cc / sy cc是长春 sy是松原
// STATIONNAME = 要查询的信息
$.ajax({
type: "post",
url: Url,
data: {
"type": "bus_station_info", //推荐线路
"FLAG": 1, //0 网站端只返回站点模糊信息 1 手机端返回站点和线路的模糊信息
"isFuzzy": false, //true / false 是否模糊查询站点信息
"AREA": jlCity, //二选一长春或者松原
"STATIONNAME": stationName //要查询的信息(当前站名)
},
async: false,
cache: false,
dataType: "jsonp", //数据类型为jsonp
jsonp: "callbackparam", //服务端用于接收callback调用的function名的参数
jsonpCallback: "jsonpCallback1",
success: function(data) {
if(data.CODE == 1) {
var d = data.DATA;
var m = data.MDATA;
if(isEncrypt(d, m)) {
d = eval(d);
var lineArr = JSON.parse(d[0].station[0].LINEINFO);
console.log("本站下的线路条数——————————》" + lineArr.length);
for(var i = 0; i < lineArr.length; i++) {
var lineName = lineArr[i].ROUTE_NAME; //线路名
var ud = lineArr[i].UP_DOWN; //上下行方向
var y = lineArr[i].LONGITUDELOCATIONOFSTATION; //站点经度
var x = lineArr[i].LATITUDELOCATIONOFSTATION; //站点纬度
//创建递归数组
var obj = {
name: lineName,
ud: ud,
y: y,
x: x
}
indexArr.push(obj);
//添加线路显示节点
if(i == 0) {
var ul = $('<ul class="nearStationOfLineUl" style="display: none;"></ul>'); //容器
$(t).after(ul);
}
var li = $('<li class="lineLi"></li>');
var span1 = $('<span class="msg1"><label class="lineNameLeft">' + lineName + ' 路</label><br /><c class="nextStopName"></c></span>');
var a1 = $('<a class="lineMain_left" data-ud="' + ud + '" onclick="jumpToBusAllNsg(this)"></a>');
var a2 = $('<a data-y="' + y + '" data-x="' + x + '" class="lineMain_right" onclick="changeFxInList(this)"><img src="img/bus_new/changeFx.png" /></a>');
$(a1).append(span1);
$(li).append(a1, a2);
$(ul).append(li);
}
} else {
errMD();
}
} else {
$.alert("暂无数据", "提示", function() {
window.location.reload();
});
}
console.log("indexArr--->" + JSON.stringify(indexArr));
$(t).next().slideDown(300);
getPositionMsg(); //递归详情信息
var num = $(t).attr("data-n") - 1; //序号
var scollAway = 40 * num;
$("#busStop_ul").animate({
scrollTop: scollAway
}, 200); //滚动到合适位置
},
error: function(data) {
$.alert("连接超时,请检查网络设置", "提示");
}
});
}
var currentIndex = 0;
//~~~~~~old1 ~~~~~~~new2
function getPositionMsg() {
if(currentIndex >= indexArr.length) {
var allLi = $(".nearStationOfLineUl li");
for(var i = 0; i < allLi.length; i++) {
var ifGps = $(allLi[i]).attr("data-gps"); //是否有gps数据标识 0表示无 1表示有
var allLiHtml = $(allLi[i]).prop("outerHTML"); //li节点
if(ifGps == 0) {
var newLi = $(allLiHtml);
allLi[i].remove();
$(".nearStationOfLineUl").append(newLi);
}
// console.log(allLiHtml);
}
$("#opacityDiv").hide();
return;
}
// console.log("第二次请求时:" + jd + "," + wd + "," + indexArr[currentIndex].line);
$.ajax({
type: "post",
url: Url,
data: {
"type": "bus_line_query_info",
"LINECODE": indexArr[currentIndex].name, //线路、模糊查
"UPDOWN": indexArr[currentIndex].ud,
"AREA": jlCity, //二选一长春或者松原
"JINGDU": indexArr[currentIndex].y, //jd, //经度
"WEIDU": indexArr[currentIndex].x, //wd, //纬度( JINGDU和WEIDU要同时传或同时不传, 传了有当前站和下一站字段不传没有)
"FLAG": "1" //---传1返回部分信息 不传或者空字符串返回全部信息
},
async: false,
cache: false,
dataType: "jsonp", //数据类型为jsonp
jsonp: "callbackparam", //服务端用于接收callback调用的function名的参数
jsonpCallback: "jsonpCallback1",
success: function(data) {
currentIndex++; //每请求一条线路后请求下一条 递增索引数
if(data.CODE == 1) {
var d = data.DATA;
var m = data.MDATA;
if(isEncrypt(d, m)) {
// console.log(d);
var arr = eval("[" + d + "]")[0];
console.log("详情内容------》" + JSON.stringify(arr));
var gpsInfo = arr.gpsInfo;
var sequence = arr.sequence;
// console.log("gps标识---------》"+gpsInfo);
var start = arr.shifazhan; //始发站
var end = arr.zhongdianzhan; //终点站
var show1 = start + " → " + end; //详情展示显示首末班
var shoumoban = arr.DEPARTURE_TIME; //首末班时间
//首末班时间区分长春和松原
var summer;
var winter;
if(jlCity == "cc") {
var str = shoumoban.split(",");
var shoumobanStr = str[0] + "——" + str[1] + ";" + str[4] + "——" + str[5];
shoumobanStr = shoumobanStr.replace("夏季始发站末车:", "").replace("冬季始发站末车:", "");
// console.log("首末班更改后:---------->" + shoumobanStr);
summer = shoumobanStr.split(";")[0].substr(8);
winter = shoumobanStr.split(";")[1].substr(8);
} else if(jlCity == "sy") {
summer = shoumoban.split(";")[0].substr(7);
winter = shoumoban.split(";")[1].substr(7);
}
var month = new Date().getMonth() + 1; //获取当前月份
var show2;
if(month > 9 || month < 5) { //冬季
show2 = "首 " + winter.split("——")[0] + " 末 " + winter.split("——")[1];
} else { //夏季
show2 = "首 " + summer.split("——")[0] + " 末 " + summer.split("——")[1];
}
// console.log("头部展示内容------>" + show1 + "<br/>" + show2);
var next = arr.next; //下一站的名字
next = next == "" ? "终点站" : arr.next;
var now = arr.current; //根据手机定位获取的离本线路最近的站点名
var label; //下一站提示内容标签 (下一班时间、下班相距本站、等待发车、即将到站)
var value; //提示数值 (站或分钟)
var unit; //显示数值旁的单位
var stopArr = arr.stationInfoArray; //各站到站信息数组
var stopNameArr = []; //所有站点集合
// var nowIndex;
// var arrivingBusArr = []; //即将到站的公交车信息集合
for(var i = 0; i < stopArr.length; i++) {
var thisStopJd = stopArr[i].LONGITUDELOCATIONOFSTATION; //每个站点的经度
var thisStopWd = stopArr[i].LATITUDELOCATIONOFSTATION; //每个站点的纬度
// stopNameArr.push(stopArr[i].STATIONNAME);
if(i + 1 == sequence) {
var zuijin = stopArr[i].zuijincheliang; //最近车辆
// console.log(zuijin);
if(zuijin == "0") { //当最近车辆为0时显示时间
var reachTime = stopArr[i].xiayizhanshijian; //下一站时间
var away = stopArr[i].xiayizhanjuli;
if(reachTime.substr(0, 2) == "0.") { //下一站时间分钟数小于1的
label = "即将到站";
value = "<1";
unit = "分";
} else {
label = "下一班时间";
console.log("value--------->" + reachTime);
value = Math.round(reachTime);
if(value.toString().substring(0, 1) == "-") { //出现负数
value = "<1";
}
unit = "分";
}
} else {
if(zuijin == "等待发车") {
label = "等待发车";
value = "<label class='zanwuStyle'>--</label>";
unit = "<p class='unitNullStyle'></p>";
} else {
label = "下一班距离本站";
value = zuijin;
unit = "站";
}
}
}
var stopNameObj; //建立单个信息对象
//查找线路上所有车辆的gps信息
if(stopArr[i].zuijincheliang == "0") { //当本站存在gps信息时 添加gps信息进入obj对象
console.log("stopArr[i].xiayizhanshijian----->" + stopArr[i].xiayizhanshijian);
var reachTime = stopArr[i].xiayizhanshijian; //下一站时间
var time; //所剩时间
var away;
if(reachTime == undefined) {
away = "";
} else {
away = stopArr[i].xiayizhanjuli.split(".")[0] + "m"; //所剩距离 显示为(XXXm格式)
}
if(reachTime < 1) {
time = "即将到站";
} else {
time = Math.round(reachTime) + "分"; //所剩时间 显示为(XXX分 格式)
}
if(i + 1 == sequence) { //!!!判断方式为站序 hzs!!
// console.log("序号:" + nowIndex);
stopNameObj = {
stop: stopArr[i].STATIONNAME,
jd: thisStopJd,
wd: thisStopWd,
busNum: stopArr[i].chepaihao,
time: time,
away: away,
order: i, //序号 第0个。。从0开始
now: true //是否为当前站
}
} else {
stopNameObj = {
stop: stopArr[i].STATIONNAME,
jd: thisStopJd,
wd: thisStopWd,
busNum: stopArr[i].chepaihao,
time: time,
away: away,
order: i, //序号 第0个。。从0开始
now: false
}
}
} else {
if(i + 1 == sequence) {
stopNameObj = {
stop: stopArr[i].STATIONNAME,
jd: thisStopJd,
wd: thisStopWd,
order: "", //设置为空
now: true
}
} else {
stopNameObj = {
stop: stopArr[i].STATIONNAME,
jd: thisStopJd,
wd: thisStopWd,
order: "", //设置为空
now: false
}
}
}
stopNameArr.push(stopNameObj); //添加到即将到站的公交车信息集合中
}
var stopNameStr = JSON.stringify(stopNameArr); //转换为JSON字符串存到
// console.log("即将到站集合:"+stopNameStr);
var c;
if(next == "终点站") {
c = $('<c class="nextStopName">' + next + '</c>');
} else {
c = $('<c class="nextStopName">下一站 · ' + next + '</c>');
}
var thisLi = $($(".nearStationOfLineUl li")[currentIndex - 1]);
// alert("第 "+currentIndex);
thisLi.children().children().append(c); //DOM循环添加每站的下一站信息
var span2 = $('<span class="msg2"></span>');
thisLi.children().first().append(span2);
var hiddenInput = $('<input type="hidden" value=""/>'); //隐藏框 用来存储即将到站车辆信息的JSON字符串集合
$(hiddenInput).val(stopNameStr);
var span2Main = $('<d class="timeRight"><b class="nextBusTime">' + value + '</b><img class="wifi_fh" src="img/bus_new/shishi_Icon.png"/><f class="labelStyle">' + unit + '</f></d><br /><e class="nextBusLabel">' + label + '</e>');
$(span2).append(hiddenInput, span2Main); //DOM循环添加公交车到站提醒信息
//添加头部展示信息在左div
thisLi.children().first().attr("data-show1", show1).attr("data-show2", show2);
//无车辆GPS数据的加以标记
if(gpsInfo == "0") {
thisLi.attr("data-gps", "0");
} else {
thisLi.attr("data-gps", "1");
}
} else {
errMD();
}
} else {
$.alert("暂无数据", "提示", function() {
$("#opacityDiv").hide();
});
}
getPositionMsg();
},
error: function(data) {
$.alert("连接超时,请检查网络设置", "提示", function() {
$("#opacityDiv").hide();
});
}
});
}
//跳转至详情所要执行的操作
function jumpToXiangqingOperate() {
$("#mainBtn").click(); //点击隐藏的导航栏跳转至详情页
$(".sec_line").hide(); //隐藏输入框
$("#footer1").hide();
$("#footer2").show(); //为详情页底部导航栏
$("#searchPage").hide(); //隐藏详情页
// $("#searchPageDisplay").val("0");
$(".weui_tab_bd").show();
}
//从详情页 后退至搜索区域
function FromMainReturnToSearch() {
$("#listBtn").click(); //点击隐藏的导航栏跳转至详情页
$(".sec_line").show(); //隐藏输入框
// $("#footer1").show();
$("#footer2").hide(); //为详情页底部导航栏
$("#searchPage").show(); //隐藏详情页
$("#searchPageDisplay").val("1");
$(".weui_tab_bd").hide();
$("#Line_ul").html("");
$("#gpsBusUl").html(""); //清空时刻表原先的内容
}
//跳转至公交详情页 new~~~~跳转至详情
function jumpToBusAllNsg(t) {
$("#gpsBusUl").html("");
var upDown = $(t).attr("data-ud");
var Jd = $(t).next().attr("data-y");
var Wd = $(t).next().attr("data-x");
//跳转至详情 固定当前定位点和该条线路上下行
$("#mainPositionJdVal").val(Jd);
$("#mainPositionWdVal").val(Wd);
$("#mainUdVal").val(upDown);
jumpToXiangqingOperate();
$("#searchPageDisplay").val("0");
//起终点站名及首末班时间展示
var qzz = $(t).attr("data-show1");
var smb = $(t).attr("data-show2");
$("#show1").html(qzz);
$("#show2").html(smb);
var lineName = $(t).children().children().first().html();
$("#app_head_title").html(lineName); //头部标题换位当前公交线路名
var ln = lineName.split(" ")[0]; //截取站名 不带“路”字
//所有站名集合
var stopArrStr = $(t).children().last().children().first().val(); //获得JSON字符串 并转化为数组OBJ
console.log("数据集合---------》" + stopArrStr);
var stopArr = JSON.parse(stopArrStr);
// console.log("li的宽度:" + buslineLiW);
var boxH = screenH - 225; //显示全站线段的盒子高度
$(".box").height(boxH);
getBusMap(stopArr); //换向或处加载时添加站序列表以及小车位置 方法
//设置当前站的到站提示信息
var data1 = $(t).children().last().children(".timeRight").children().first().html(); //数值
var data2 = $(t).children().last().children(".timeRight").children().last().html(); //单位
var data3 = $(t).children().last().children().last().html();
$("#thisStopNum").html(data1);
$("#thisStopLabel").html(data2);
$("#thisStopAway").html(data3);
}
//点击查询时刻表 (当前线路当前方向上所有车辆的到达信息)
function searchTimeList() {
//判断当前是否有车辆时刻表数据
if($("#gpsBusUl li").length == "0") {
$.alert("当前线路暂无时刻表数据!");
} else {
$("#page_timeList").show();
$("#page_main").hide();
$("#skb").val("1");
$("html,body").css("overflow-y", "auto");
$("#skb_title").html($("#show1").html());
}
}
//一定距离内渐变倒三角淡入淡出效果
$("#index_gd").scroll(function() {
// e.preventDefault();
var leftAway = $("#dsjIcon").offset().left;
// console.log("距离屏幕最左侧距离-----》" + leftAway);
var rightAway = screenW * 0.95 - leftAway; //距离屏幕右侧距离等于全屏减距左减倒三角本身宽度(屏幕的5%)
// console.log("距离屏幕最右侧距离-----》" + rightAway);
//var danchuAway = screenW * 0.06;//倒三角图形即将淡出的距离 距左右
if(leftAway < screenW * 0.06 && leftAway > screenW * 0.055 || rightAway < screenW * 0.06 && rightAway > screenW * 0.055) {
$("#dsjIcon").css("opacity", 0.8);
} else if(leftAway <= screenW * 0.055 && leftAway > screenW * 0.05 || rightAway <= screenW * 0.055 && rightAway > screenW * 0.05) {
$("#dsjIcon").css("opacity", 0.6);
} else if(leftAway <= screenW * 0.05 && leftAway > screenW * 0.045 || rightAway <= screenW * 0.05 && rightAway > screenW * 0.045) {
$("#dsjIcon").css("opacity", 0.4);
} else if(leftAway <= screenW * 0.045 && leftAway > screenW * 0.04 || rightAway <= screenW * 0.045 && rightAway > screenW * 0.04) {
$("#dsjIcon").css("opacity", 0.2);
} else if(leftAway <= screenW * 0.04 || rightAway < screenW * 0.04) {
$("#dsjIcon").css("opacity", 0);
} else {
$("#dsjIcon").css("opacity", 1);
}
});
//换向或处加载时添加站序列表以及小车位置 方法
function getBusMap(arr) {
$("#Line_ul").html("");
//更改站序列表
var boxMinWid = (100 / 7) * arr.length + 3;
$(".box ul").css("min-width", boxMinWid + "%");
$("#hr_line").css("width", boxMinWid + "%");
for(var i = 0; i < arr.length; i++) {
var a = $('<a class="stopPoint"><img src="img/bus_new/stopPIcon.png" /></a>'); //每站的白色小圆点
var p = $('<p data-jd="' + arr[i].jd + '" data-wd="' + arr[i].wd + '" data-name="' + arr[i].stop + '" onclick="changCurrent(this)"><span class="stopBianhao">' + (i + 1) + '</span><br />' + arr[i].stop + '</p>');
//判断得出当前站 高亮为红色
if(arr[i].now == true) {
$(p).addClass("thisStop_red");
$(p).children().addClass("thisStop_red");
var scrollAway;
if(i <= 3) {
scrollAway = 0;
} else {
scrollAway = (i - 3) * buslineLiW;
}
var dsjScrollAway = i * buslineLiW + screenW * 0.05; //白色倒三角向左挪动距离
var thisPScrollAway = i * buslineLiW + screenW * 0.033; //红色定位符号挪动距离
$("#index_gd").animate({
scrollLeft: scrollAway
}, 600); //滚动条的动画效果
// scrollLeft(scrollAway);
$("#dsjIcon").css("margin-left", dsjScrollAway);
$("#thisPIcon").css("margin-left", thisPScrollAway);
}
var widP_ml = (buslineLiW - 18) * 0.5; //让竖排文字居中
var widP_carIconImg = buslineLiW * 0.5 + 10; //让小车位于线段中央
$(p).css("margin-left", widP_ml);
var li = $('<li></li>');
$(li).append(a, p);
//当数组中对象存在gps信息时(order参数不为空时) 在线段上添加两站间小车图标
if(arr[i].order != "") {
var carIcon = $('<a class="carIcon"><img class="carIconImg" src="img/bus_new/bus_big_icon.png"/></a>'); //线段上的小车标志
$(carIcon).children().css("right", widP_carIconImg); //小车样式
$(p).before(carIcon);
//时刻表 信息 添加DOM到隐藏的页面
var p1_ = $('<p class="nextStop_1">下一站 · ' + arr[i].stop + '<img class="wifi_fh2" src="img/bus_new/shishi_Icon.png"/></p>');
// console.log("距离单位m---------->" + arr[i].away);
var p2_ = $('<p class="gpsMsg_2">' + arr[i].time + '</p>');
// if(arr[i].away == "0m") {
// // console.log(true);
// p2_ = $('<p class="gpsMsg_2">' + arr[i].time + '</p>');
// } else {
// p2_ = $('<p class="gpsMsg_2">' + arr[i].time + '/' + arr[i].away + '</p>');
// }
var span_ = $('<span class="cph">编号 ' + arr[i].busNum + '</span>');
var div1_ = $('<div class="gpsList_left"></div>');
var div2_ = $('<div class="gpsList_right"></div>');
$(div1_).append(p1_, p2_);
$(div2_).append(span_);
var li_ = $('<li></li>');
$(li_).append(div1_, div2_);
$("#gpsBusUl").append(li_);
}
$(li).width(buslineLiW);
$(li).height(500);
$(".stopPoint img").css("left", (buslineLiW - 13) / 2);
//调整站点的小白点位置 不同手机尺寸
if(screenW > 410 && screenW < 418) { //苹果5.5寸左右屏幕
$(".stopPoint img").css("top", -31);
$("#Line_ul li p").css("font-size", "16px").css("line-height", "21px");
} else if(screenW < 410 && screenW > 390) { //
$(".stopPoint img").css("top", -32);
$("#Line_ul li p").css("font-size", "15px").css("line-height", "20px");
} else if(screenW < 390 && screenW > 340) {
$(".stopPoint img").css("top", -33);
$("#Line_ul li p").css("font-size", "13px").css("line-height", "17px");
} else if(screenW < 340) { //苹果4、5
$(".stopPoint img").css("top", -35);
$("#Line_ul li p").css("font-size", "12px").css("line-height", "15px");
} else if(screenW > 418 && screenW < 490) {
$(".stopPoint img").css("top", -28);
$("#Line_ul li p").css("font-size", "16px").css("line-height", "22px");
} else if(screenW > 490) {
$(".stopPoint img").css("top", -27);
$("#Line_ul li p").css("font-size", "17px").css("line-height", "23px");
}
$("#Line_ul").append(li);
var leftNum = widP_ml + 2; //最后一个站点位置挪正
$($(".stopPoint img")[arr.length - 1]).css("left", leftNum);
if(screenW > 410 && screenW < 418) { //苹果5.5寸左右屏幕
$($(".stopPoint img")[arr.length - 1]).css("top", -31);
} else if(screenW > 418) { //安卓大屏
$($(".stopPoint img")[arr.length - 1]).css("top", -29);
} else if(screenW < 410 && screenW > 390) { //
$($(".stopPoint img")[arr.length - 1]).css("top", -32);
} else if(screenW < 390 && screenW > 340) {
$($(".stopPoint img")[arr.length - 1]).css("top", -33);
} else if(screenW < 340) { //苹果4、5
$($(".stopPoint img")[arr.length - 1]).css("top", -35);
} else if(screenW > 418 && screenW < 490) {
$($(".stopPoint img")[arr.length - 1]).css("top", -28);
} else if(screenW > 490) {
$($(".stopPoint img")[arr.length - 1]).css("top", -27);
}
}
}
//!!!~~~更改当前定位站点方法
function changCurrent(t) {
var willBeCurrentName = $(t).attr("data-name");
var willBeCurrentJd = $(t).attr("data-jd");
var willBeCurrentWd = $(t).attr("data-wd");
$.confirm("替换当前站点为<span style='color:#0070B4;font-size=1.2em;'>" + willBeCurrentName + "</span>", function() {
//点击确认后的回调函数
var upOrDown = $("#mainUdVal").val();
console.log("此次更改定位站的上下行-----》" + upOrDown);
if(!upOrDown) {
//搜索模式直接点击历史记录的情况
$("#mainUdVal").val("1");
}
$("#mainPositionJdVal").val(willBeCurrentJd);
$("#mainPositionWdVal").val(willBeCurrentWd); //替换更改后的定位站点经纬度
loadingMainPageBtn(document.getElementById("nearByStaTitle"), "flag", t);
}, function() {
//点击取消后的回调函数
});
}
//点击详情页底部的两个按钮 ~~~~new换向刷新
function loadingMainPageBtn(t, line_, changeStop) {
if(clicktag == 0) {
clicktag = 1; //将标注改为1 当标注为1时换向按钮失效
var line;
var upDown;
var Jd;
var Wd;
if(line_ == "flag") { //标准模式下
line = $("#app_head_title").html().split(" ")[0]; //当前查询的线路
if(t.innerHTML.indexOf("换向") > -1) {
var ud = $("#mainUdVal").val();
upDown = ud == 0 ? 1 : 0; //更改方向
$("#mainUdVal").val(upDown); //更改固定参数
} else {
upDown = $("#mainUdVal").val();
}
Jd = $("#mainPositionJdVal").val();
Wd = $("#mainPositionWdVal").val();
console.log("当前模式下经纬度------>" + Jd + "," + Wd + "上下行----->" + $("#mainUdVal").val());
} else { //搜索模式下
line = line_; //搜索区点击查询详情的赋值为参数值
console.log("搜索至详情操作:----》" + line);
//!!!!!!!!!!!!!!
Jd = jd;
Wd = wd; //搜索模式下 当前站位置确定在用户所在位置
}
$("#index_gd .carIcon").remove(); //清除所有小车位置
//后期可能会涉及到刷新时存在的用户位置及当前站位置的变化
// var jd = "124.819822";
// var wd = "45.123834"; //设置当前位置为松原市飞宇超市站所在位置
// console.log("上下行方向:"+ud);
// var jingdu;
// var weidu;
// var searchType = $("#ifFromStopSearchToLine").val();
// if(searchType == "0") {
// jingdu = jd;
// weidu = wd;
// } else {
// jingdu = searchType.split(",")[0];
// weidu = searchType.split(",")[1];
// console.log("经度:-------》" + jingdu);
// console.log("纬度:-------》" + weidu);
// }
$.ajax({
type: "post",
url: Url,
data: {
"type": "bus_line_query_info",
"LINECODE": line, //线路
"UPDOWN": upDown, //由列表之详情页固定的上下行位置
"AREA": jlCity, //二选一长春或者松原
"JINGDU": Jd, //由列表之详情页固定的经度
"WEIDU": Wd, //由列表之详情页固定的纬度
"FLAG": "1" //---传1返回部分信息 不传或者空字符串返回全部信息
},
async: false,
cache: false,
dataType: "jsonp", //数据类型为jsonp
jsonp: "callbackparam", //服务端用于接收callback调用的function名的参数
jsonpCallback: "jsonpCallback1",
success: function(data) {
if(data.CODE == 1) {
var d = data.DATA;
var m = data.MDATA;
if(isEncrypt(d, m)) {
// console.log(d);
var arr = eval("[" + d + "]")[0];
var start = arr.shifazhan; //始发站
var end = arr.zhongdianzhan; //终点站
var sequence = arr.sequence;
var show1 = start + " → " + end; //详情展示显示首末班
var shoumoban = arr.DEPARTURE_TIME; //首末班时间
//首末班时间区分长春和松原
var summer;
var winter;
if(jlCity == "cc") {
var str = shoumoban.split(",");
var shoumobanStr = str[0] + "——" + str[1] + ";" + str[4] + "——" + str[5];
shoumobanStr = shoumobanStr.replace("夏季始发站末车:", "").replace("冬季始发站末车:", "");
// console.log("首末班更改后:---------->" + shoumobanStr);
summer = shoumobanStr.split(";")[0].substr(8);
winter = shoumobanStr.split(";")[1].substr(8);
} else if(jlCity == "sy") {
summer = shoumoban.split(";")[0].substr(7);
winter = shoumoban.split(";")[1].substr(7);
}
var month = new Date().getMonth() + 1; //获取当前月份
var show2;
if(month > 9 || month < 5) { //冬季
show2 = "首 " + winter.split("——")[0] + " 末 " + winter.split("——")[1];
} else { //夏季
show2 = "首 " + summer.split("——")[0] + " 末 " + summer.split("——")[1];
}
$("#show1").html(show1);
$("#show2").html(show2);
var next = arr.next; //下一站的名字
next = next == "" ? "终点站" : arr.next;
var now = arr.current; //根据手机定位获取的离本线路最近的站点名
var label; //下一站提示内容标签 (下一班时间、下班相距本站、等待发车、即将到站)
var value; //提示数值 (站或分钟)
var unit; //显示数值旁的单位
var stopArr = arr.stationInfoArray; //各站到站信息数组
var stopNameArr = []; //所有站点集合
// var nowIndex;
// var arrivingBusArr = []; //即将到站的公交车信息集合
for(var i = 0; i < stopArr.length; i++) {
// stopNameArr.push(stopArr[i].STATIONNAME);
var thisStopJd = stopArr[i].LONGITUDELOCATIONOFSTATION; //每个站点的经度
var thisStopWd = stopArr[i].LATITUDELOCATIONOFSTATION; //每个站点的纬度
if(i + 1 == sequence) {
var zuijin = stopArr[i].zuijincheliang; //最近车辆
// console.log(zuijin);
if(zuijin == "0") { //当最近车辆为0时显示时间
var reachTime = stopArr[i].xiayizhanshijian; //下一站时间
var away = stopArr[i].xiayizhanjuli;
if(reachTime.substr(0, 2) == "0.") { //下一站时间分钟数小于1的
label = "即将到站";
value = "<1";
unit = "分";
} else {
label = "下一班时间";
console.log("value--------->" + reachTime);
value = Math.round(reachTime);
if(value.toString().substring(0, 1) == "-") { //出现负数
value = "<1";
}
unit = "分";
}
} else {
if(zuijin == "等待发车") {
label = "等待发车";
value = "<label class='zanwuStyle'>--</label>";
unit = "<p class='unitNullStyle'></p>";
} else {
label = "下一班距离本站";
value = zuijin;
unit = "站";
}
}
}
$("#thisStopNum").html(value);
$("#thisStopLabel").html(unit);
$("#thisStopAway").html(label);
var stopNameObj; //建立单个信息对象
//查找线路上所有车辆的gps信息
if(stopArr[i].zuijincheliang == "0") { //当本站存在gps信息时 添加gps信息进入obj对象
console.log("stopArr[i].xiayizhanshijian----->" + stopArr[i].xiayizhanshijian);
var reachTime = stopArr[i].xiayizhanshijian; //下一站时间
var time; //所剩时间
var away;
if(reachTime == undefined) {
away = "";
} else {
away = stopArr[i].xiayizhanjuli.split(".")[0] + "m"; //所剩距离 显示为(XXXm格式)
}
if(reachTime < 1) {
time = "即将到站";
} else {
time = Math.round(reachTime) + "分"; //所剩时间 显示为(XXX分 格式)
}
if(i + 1 == sequence) {
// console.log("序号:" + nowIndex);
stopNameObj = {
stop: stopArr[i].STATIONNAME,
jd: thisStopJd,
wd: thisStopWd,
busNum: stopArr[i].chepaihao,
time: time,
away: away,
order: i, //序号 第0个。。从0开始
now: true //是否为当前站
}
} else {
stopNameObj = {
stop: stopArr[i].STATIONNAME,
jd: thisStopJd,
wd: thisStopWd,
busNum: stopArr[i].chepaihao,
time: time,
away: away,
order: i, //序号 第0个。。从0开始
now: false
}
}
} else {
if(i + 1 == sequence) {
stopNameObj = {
stop: stopArr[i].STATIONNAME,
jd: thisStopJd,
wd: thisStopWd,
order: "", //设置为空
now: true
}
} else {
stopNameObj = {
stop: stopArr[i].STATIONNAME,
jd: thisStopJd,
wd: thisStopWd,
order: "", //设置为空
now: false
}
}
}
stopNameArr.push(stopNameObj); //添加到即将到站的公交车信息集合中
}
if(t == "flag") { //搜索模式
$("#app_head_title").html(line + " 路");
var boxH = screenH - 225; //显示全站线段的盒子高度
$(".box").height(boxH);
getBusMap(stopNameArr);
// getOtherOverMsg(line, ud);
} else { //正常模式
if(t.innerHTML.indexOf("换向") > -1) { //点击换向按钮触发
// console.log("换向");
$("#Line_ul").html("");
$("#gpsBusUl").html(""); //清空时刻表原先的内容
getBusMap(stopNameArr); //换向或处加载时添加站序列表以及小车位置 方法
//~~~~~
$.toast("换向成功"); //分为刷新成功和换向成功
} else if(t.innerHTML.indexOf("刷新") > -1) { //点击刷新按钮触发
// console.log("刷新");
//刷新只更改小车位置 白色圆点和站名列表不变
var bianhaoSpan = $(".stopBianhao");
$("#gpsBusUl").html(""); //清空时刻表原先的内容
for(var j = 0; j < bianhaoSpan.length; j++) {
if(stopNameArr[j].order != "") {
//数据请求后,将新更新的小车位置添加到线段上
var carIcon = $('<a class="carIcon"><img class="carIconImg" src="img/bus_new/bus_big_icon.png"/></a>'); //线段上的小车标志
$(bianhaoSpan[j]).parent().before(carIcon);
var widP_carIconImg = buslineLiW * 0.5 + 10; //让小车位于线段中央
$(carIcon).children().css("right", widP_carIconImg); //小车样式
//重新规划时刻表数据
//时刻表 信息 添加DOM到隐藏的页面
var p1_ = $('<p class="nextStop_1">下一站 · ' + stopNameArr[j].stop + '<img class="wifi_fh2" src="img/bus_new/shishi_Icon.png"/></p>');
var p2_ = $('<p class="gpsMsg_2">' + stopNameArr[j].time + '</p>');
// if(stopNameArr[j].away == "0m") {
// // console.log(true);
// p2_ = $('<p class="gpsMsg_2">' + stopNameArr[j].time + '</p>');
// } else {
// p2_ = $('<p class="gpsMsg_2">' + stopNameArr[j].time + '/' + stopNameArr[j].away + '</p>');
// }
var span_ = $('<span class="cph">编号 ' + stopNameArr[j].busNum + '</span>');
var div1_ = $('<div class="gpsList_left"></div>');
var div2_ = $('<div class="gpsList_right"></div>');
$(div1_).append(p1_, p2_);
$(div2_).append(span_);
var li_ = $('<li></li>');
$(li_).append(div1_, div2_);
$("#gpsBusUl").append(li_);
}
}
$.toast("刷新成功"); //分为刷新成功和换向成功
} else if(t.innerHTML.indexOf("附近车站") > -1) {
console.log("详情下切换站点");
if(changeStop) { //changeStop为切换后的当前站
//切换红色高亮当前站
$(".box ul li p").removeClass("thisStop_red");
$(".box ul li p span").removeClass("thisStop_red");
$(changeStop).addClass("thisStop_red");
$(changeStop).children().addClass("thisStop_red");
//移动当前站指向标志 和白色倒三角
var i = $(changeStop).children().html() - 1; //更换后的定位站点数组下标
//console.log("更换后的定位站点----->" + i);
var scrollAway;
if(i <= 3) {
scrollAway = 0;
} else {
scrollAway = (i - 3) * buslineLiW;
}
var dsjScrollAway = i * buslineLiW + screenW * 0.05; //白色倒三角向左挪动距离
var thisPScrollAway = i * buslineLiW + screenW * 0.033; //红色定位符号挪动距离
$("#index_gd").animate({
scrollLeft: scrollAway
}, 600); //滚动条的动画效果
// scrollLeft(scrollAway);
$("#dsjIcon").css("margin-left", dsjScrollAway);
$("#thisPIcon").css("margin-left", thisPScrollAway);
var bianhaoSpan = $(".stopBianhao");
for(var j = 0; j < bianhaoSpan.length; j++) {
if(stopNameArr[j].order != "") {
//数据请求后,将新更新的小车位置添加到线段上
var carIcon = $('<a class="carIcon"><img class="carIconImg" src="img/bus_new/bus_big_icon.png"/></a>'); //线段上的小车标志
$(bianhaoSpan[j]).parent().before(carIcon);
var widP_carIconImg = buslineLiW * 0.5 + 10; //让小车位于线段中央
$(carIcon).children().css("right", widP_carIconImg); //小车样式
}
}
}
}
}
} else {
errMD();
}
} else {
$.alert("暂无数据", "提示");
}
},
error: function(data) {
$.alert("连接超时,请检查网络设置", "提示");
}
});
setTimeout(function() {
clicktag = 0
}, 1500); //防止按钮被2秒内被连续恶意点击
} else {
$.toast("操作频繁", "cancel");
}
};
//在列表模式下点击换向按钮 方法 new~~~~换向
function changeFxInList(t) {
var line = $(t).prev().children().first().children().first().html().split(" ")[0];
// console.log("要换向的站名---->" + line);
var ud = $(t).prev().attr("data-ud");
console.log("换向前方向----!!!!----》" + ud);
ud = ud == 0 ? 1 : 0; //换向
console.log("当前方向----!!!!----》" + ud);
var thisStopJd = $(t).attr("data-y");
var thisStopWd = $(t).attr("data-x");
// console.log("要换向前的上下行和经纬度---》"+ud+"----"+thisStopJd+","+thisStopWd);
$.ajax({
type: "post",
url: Url,
data: {
"type": "bus_line_query_info",
"LINECODE": line, //线路、模糊查
"UPDOWN": ud,
"AREA": jlCity, //二选一长春或者松原
"JINGDU": thisStopJd, //jd, //经度
"WEIDU": thisStopWd, //wd, //纬度( JINGDU和WEIDU要同时传或同时不传, 传了有当前站和下一站字段不传没有)
"FLAG": "1" //---传1返回部分信息 不传或者空字符串返回全部信息
},
async: false,
cache: false,
dataType: "jsonp", //数据类型为jsonp
jsonp: "callbackparam", //服务端用于接收callback调用的function名的参数
jsonpCallback: "jsonpCallback1",
success: function(data) {
if(data.CODE == 1) {
var d = data.DATA;
var m = data.MDATA;
if(isEncrypt(d, m)) {
// console.log(d);
var arr = eval("[" + d + "]")[0];
// console.log("详情内容------》" + JSON.stringify(arr));
// var gpsInfo = arr.gpsInfo;
// console.log("gps标识---------》"+gpsInfo);
var start = arr.shifazhan; //始发站
var end = arr.zhongdianzhan; //终点站
var sequence = arr.sequence;
var show1 = start + " → " + end; //详情展示显示首末班
var shoumoban = arr.DEPARTURE_TIME; //首末班时间
//首末班时间区分长春和松原
var summer;
var winter;
if(jlCity == "cc") {
var str = shoumoban.split(",");
var shoumobanStr = str[0] + "——" + str[1] + ";" + str[4] + "——" + str[5];
shoumobanStr = shoumobanStr.replace("夏季始发站末车:", "").replace("冬季始发站末车:", "");
// console.log("首末班更改后:---------->" + shoumobanStr);
summer = shoumobanStr.split(";")[0].substr(8);
winter = shoumobanStr.split(";")[1].substr(8);
} else if(jlCity == "sy") {
summer = shoumoban.split(";")[0].substr(7);
winter = shoumoban.split(";")[1].substr(7);
}
var month = new Date().getMonth() + 1; //获取当前月份
var show2;
if(month > 9 || month < 5) { //冬季
show2 = "首 " + winter.split("——")[0] + " 末 " + winter.split("——")[1];
} else { //夏季
show2 = "首 " + summer.split("——")[0] + " 末 " + summer.split("——")[1];
}
var span1 = $('<span class="msg1"><label class="lineNameLeft">' + line + ' 路</label><br /><c class="nextStopName"></c></span>');
var a1 = $('<a data-show1="' + show1 + '" data-show2="' + show2 + '" class="lineMain_left" data-ud="' + ud + '" onclick="jumpToBusAllNsg(this)"></a>');
$(a1).append(span1);
$(t).before(a1);
// console.log("头部展示内容------>" + show1 + "<br/>" + show2);
var next = arr.next; //下一站的名字
next = next == "" ? "终点站" : arr.next;
var now = arr.current; //根据手机定位获取的离本线路最近的站点名
var label; //下一站提示内容标签 (下一班时间、下班相距本站、等待发车、即将到站)
var value; //提示数值 (站或分钟)
var unit; //显示数值旁的单位
var stopArr = arr.stationInfoArray; //各站到站信息数组
var stopNameArr = []; //所有站点集合
// var nowIndex;
// var arrivingBusArr = []; //即将到站的公交车信息集合
for(var i = 0; i < stopArr.length; i++) {
var thisStopJd = stopArr[i].LONGITUDELOCATIONOFSTATION; //每个站点的经度
var thisStopWd = stopArr[i].LATITUDELOCATIONOFSTATION; //每个站点的纬度
// stopNameArr.push(stopArr[i].STATIONNAME);
if(i + 1 == sequence) {
var zuijin = stopArr[i].zuijincheliang; //最近车辆
// console.log(zuijin);
if(zuijin == "0") { //当最近车辆为0时显示时间
var reachTime = stopArr[i].xiayizhanshijian; //下一站时间
var away = stopArr[i].xiayizhanjuli;
if(reachTime.substr(0, 2) == "0.") { //下一站时间分钟数小于1的
label = "即将到站";
value = "<1";
unit = "分";
} else {
label = "下一班时间";
console.log("value--------->" + reachTime);
value = Math.round(reachTime);
if(value.toString().substring(0, 1) == "-") { //出现负数
value = "<1";
}
unit = "分";
}
} else {
if(zuijin == "等待发车") {
label = "等待发车";
value = "<label class='zanwuStyle'>--</label>";
unit = "<p class='unitNullStyle'></p>";
} else {
label = "下一班距离本站";
value = zuijin;
unit = "站";
}
}
}
var stopNameObj; //建立单个信息对象
//查找线路上所有车辆的gps信息
if(stopArr[i].zuijincheliang == "0") { //当本站存在gps信息时 添加gps信息进入obj对象
console.log("stopArr[i].xiayizhanshijian----->" + stopArr[i].xiayizhanshijian);
var reachTime = stopArr[i].xiayizhanshijian; //下一站时间
var time; //所剩时间
var away;
if(reachTime == undefined) {
away = "";
} else {
away = stopArr[i].xiayizhanjuli.split(".")[0] + "m"; //所剩距离 显示为(XXXm格式)
}
if(reachTime < 1) {
time = "即将到站";
} else {
time = Math.round(reachTime) + "分"; //所剩时间 显示为(XXX分 格式)
}
if(i + 1 == sequence) {
// console.log("序号:" + nowIndex);
stopNameObj = {
stop: stopArr[i].STATIONNAME,
jd: thisStopJd,
wd: thisStopWd,
busNum: stopArr[i].chepaihao,
time: time,
away: away,
order: i, //序号 第0个。。从0开始
now: true //是否为当前站
}
} else {
stopNameObj = {
stop: stopArr[i].STATIONNAME,
jd: thisStopJd,
wd: thisStopWd,
busNum: stopArr[i].chepaihao,
time: time,
away: away,
order: i, //序号 第0个。。从0开始
now: false
}
}
} else {
if(i + 1 == sequence) {
stopNameObj = {
stop: stopArr[i].STATIONNAME,
jd: thisStopJd,
wd: thisStopWd,
order: "", //设置为空
now: true
}
} else {
stopNameObj = {
stop: stopArr[i].STATIONNAME,
jd: thisStopJd,
wd: thisStopWd,
order: "", //设置为空
now: false
}
}
}
stopNameArr.push(stopNameObj); //添加到即将到站的公交车信息集合中
}
var stopNameStr = JSON.stringify(stopNameArr); //转换为JSON字符串存到
// console.log("即将到站集合:"+stopNameStr);
var c;
if(next == "终点站") {
c = $('<c class="nextStopName">' + next + '</c>');
} else {
c = $('<c class="nextStopName">下一站 · ' + next + '</c>');
}
var thisLi = $($(".nearStationOfLineUl li")[currentIndex - 1]);
// alert("第 "+currentIndex);
$(t).prev().children().append(c); //DOM循环添加每站的下一站信息
var span2 = $('<span class="msg2"></span>');
$(t).prev().append(span2);
var hiddenInput = $('<input type="hidden" value=""/>'); //隐藏框 用来存储即将到站车辆信息的JSON字符串集合
$(hiddenInput).val(stopNameStr);
var span2Main = $('<d class="timeRight"><b class="nextBusTime">' + value + '</b><img class="wifi_fh" src="img/bus_new/shishi_Icon.png"/><f class="labelStyle">' + unit + '</f></d><br /><e class="nextBusLabel">' + label + '</e>');
$(span2).append(hiddenInput, span2Main); //DOM循环添加公交车到站提醒信息
} else {
errMD();
}
} else {
$.alert("暂无数据", "提示");
}
getPositionMsg();
},
error: function(data) {
$.alert("连接超时,请检查网络设置", "提示");
}
});
setTimeout(function() {
$.toast("换向成功");
}, 500);
// t.parentNode.style.visibility = "hidden";//隐藏并保留其位置
$(t).prev().remove(); //清空换向前的信息详情
}
//-------分割线--------------搜索功能
$("#suggestId_line").focus(function() {
$("#searchPage").slideDown(300);
$("#searchPageDisplay").val("1");
$(".weui_tab_bd").hide();
$("#footer1").hide();
hxType = "1"; //进入搜索模式
});
//移动滚动条时 输入框失去焦点 隐藏手机软键盘
window.onscroll = function() {
$("#suggestId_line").blur();
}
// 获取搜索标签对象
var suggest = document.getElementById('suggestId_line');
// 软键盘搜索点击事件
suggest.addEventListener("keydown", function(e) {
if(13 == e.keyCode) { //点击软键盘“搜索”
$("#searchHistoryDiv").hide();
$("#searchResultDiv").show();
document.activeElement.blur(); //隐藏软键盘
$("#BusLineResultUl").html("");
$("#BusStopResultUl").html("");
$("#searchNullImg").hide();
$(".searchResultTitle").show();
$("#BusLineResultUl").removeClass("mb15");
getSearchMsgAjax();
}
}, false);
// 查询框查询方法
// type = bus_station_info
// STATIONNAME = “模糊查的结果”
// AREA = 默认cc可以查询长春时可以不传
// FLAG = 0 只查站点的模糊信息 1 查站点和线路的模糊信息
function getSearchMsgAjax() {
$.ajax({
type: "post",
url: Url,
data: {
"type": "bus_station_info", //站点或线路查询
"FLAG": "1", //0 网站端只返回站点模糊信息 1 手机端返回站点和线路的模糊信息
"isFuzzy": true, //是否模糊查询站点信息
"AREA": jlCity, //区域代号
"STATIONNAME": $("#suggestId_line").val() //要查询的信息
},
async: false,
cache: false,
dataType: "jsonp", //数据类型为jsonp
jsonp: "callbackparam", //服务端用于接收callback调用的function名的参数
jsonpCallback: "jsonpCallback1",
success: function(data) {
if(data.MSG == "失败") {
console.log(JSON.stringify(data));
$.alert("连接超时,请稍候再试");
} else {
var d = data.DATA;
var m = data.MDATA;
if(isEncrypt(d, m)) {
// console.log("解放大路:-------》" + JSON.stringify(eval(d)[0]));
var staArr = eval(d)[0].station;
var lineArr = eval(d)[0].lineName;
console.log("搜索结果:------》" + JSON.stringify(staArr));
console.log("搜索结果:------》" + JSON.stringify(lineArr));
if(lineArr == "失败") {
$("#line_title").hide();
} else {
if(staArr != "失败") {
$("#BusLineResultUl").addClass("mb15");
}
for(var i = 0; i < lineArr.length; i++) {
var lineName = lineArr[i].ROUTE_NAME;
var li = $('<li data-type="line" data-line="' + lineName + '" onclick="searchThisLine(this)"></li>');
var main = $('<img src="img/bus/busSearchLine.png" class="lineImg" /><span>' + lineName + '路</span>');
$(li).append(main);
$("#BusLineResultUl").append(li);
}
}
if(staArr == "失败") {
$("#sta_title").hide();
} else {
for(var j = 0; j < staArr.length; j++) {
var stopName = staArr[j].STATIONNAME; //站名
// var stopMain = staArr[j].LINEINFO; //站下详情
console.log("stopName------>" + stopName);
var li = $('<li onclick="searchThisLine(this)" data-stop="' + stopName + '" data-type="stop"></li>');
var main = $('<img src="img/bus/busSearchStop.png" class="stopImg"/><span>' + stopName + '</span>');
$(li).append(main);
$("#BusStopResultUl").append(li);
}
}
if(lineArr == "失败" && staArr == "失败") {
$("#searchNullImg").show();
}
} else {
errMD();
}
}
},
error: function(data) {
$.alert("连接超时,请重试", "提示");
}
});
}
//点击查询出的线路 查看详情
function searchThisLine(t) {
var type = $(t).attr("data-type"); //查询的是 线路 还是 站点 区分类别
var hasLine; //查询车站时 该站下的线路
var x;
var y; //经纬度
var historyObj; //历史记录单个对象
$("#searchPageDisplay").val("1");
var line = $(t).attr("data-line");
console.log("line搜索:-------》" + line);
console.log("类型:-----》" + $(t).attr("data-type"));
if(type == "stop") { //查询为站点的情况
// $("#ifFromStopSearchToLine").val(zbStr); //页面加载时 当前站定位模式默认为当前位置“0” 由搜索车站定点模式为“1”
name = $(t).attr("data-stop");
historyObj = {
type: type,
name: name
};
//跳转至站点查询页面
var dataObj = { //页面跳转过程携带的数据
name: name, //站名
city: jlCity //城市
}
mui.openWindow({
url: "bus_sy_stop.html",
id: "bus_sy_stop.html",
show: {
autoShow: true,
aniShow: "slide-in-right",
duration: 300 //页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒;
},
createNew: false, //是否重复创建同样id的webview,默认为false:不重复创建,直接显示
extras: {
searchMsg: dataObj //扩展参数、创建子页面传值 把查询的站名传递到子页面
}
});
} else { //查询的为线路的情况
jumpToXiangqingOperate(); //执行跳转到详情页前的操作
var name = $(t).attr("data-line");
loadingMainPageBtn("flag", line);
//创建要存储的对象 添加到搜索历史记录中
historyObj = {
type: type,
name: name,
hasLine: hasLine,
x: x,
y: y
}
}
if(jlCity == "cc") { //长春历史记录
var allStr = localStorage.ccBusSearch;
var searchArr = JSON.parse(allStr); //取出本地存储
var historyStr = JSON.stringify(historyObj); //对象转换为字符串
// alert(historyStr+","+localStorage.ccBusSearch);
if(allStr.indexOf(historyStr) > -1) { //所查询的内容在历史记录中
} else {
searchArr.push(historyObj);
if(searchArr.length > 20) {
searchArr.splice(1); //存储量满20个时 去除最早查询的一个
}
localStorage.ccBusSearch = JSON.stringify(searchArr);
}
} else if(jlCity == "sy") { //松原历史记录
var allStr = localStorage.syBusSearch;
var searchArr = JSON.parse(allStr); //取出本地存储
var historyStr = JSON.stringify(historyObj); //对象转换为字符串
if(localStorage.ccBusSearch.indexOf(historyStr) > -1) { //所查询的内容在历史记录中
} else {
searchArr.push(historyObj);
if(searchArr.length > 20) {
searchArr.splice(1); //存储量满20个时 去除最早查询的一个
}
localStorage.syBusSearch = JSON.stringify(searchArr);
}
}
getHistoryList(jlCity);
}
//历史记录列表渲染方法
function getHistoryList(city) {
$("#busSearchHistoryUl").html("");
var arr_; //本地存储JSON数组
if(city == "cc") {
arr_ = JSON.parse(localStorage.ccBusSearch).reverse();
} else if(city == "sy") {
arr_ = JSON.parse(localStorage.syBusSearch).reverse();
}
console.log(arr_);
if(arr_.length > 0) {
$(".busSearchZw").hide(); //隐藏暂无
$("#clearHistory").show(); //显示清空按钮
for(var i = 0; i < arr_.length; i++) {
var type = arr_[i].type; //类型
var name = arr_[i].name; //名称
var hasLine = arr_[i].hasLine; //本站下 线路名
var x = arr_[i].x;
var y = arr_[i].y;
var li;
var main;
if(type == "stop") { //站 ~~~~~~~~~~!!!点击事件尚未加上
li = $('<li onclick="searchThisLine(this)" data-type="stop" data-stop="' + name + '"></li>');
main = $('<img src="img/bus/busSearchStop.png" class="stopImg"/><span>' + name + '</span>');
} else { //线路
li = $('<li data-type="line" data-line="' + name + '" onclick="searchThisLine(this)"></li>');
main = $('<img src="img/bus/busSearchLine.png" class="lineImg" /><span>' + name + '路</span>');
}
$(li).append(main);
$("#busSearchHistoryUl").append(li);
}
} else {
$(".busSearchZw").show(); //显示暂无
$("#clearHistory").hide(); //隐藏清空按钮
}
}
//清空搜索历史记录
function clearHistory() {
var arr = [];
if(jlCity == "cc") {
localStorage.ccBusSearch = JSON.stringify(arr);
} else {
localStorage.syBusSearch = JSON.stringify(arr);
}
$("#busSearchHistoryUl").html(""); //清空页面上的渲染数据
$(".busSearchZw").show(); //显示暂无
$("#clearHistory").hide(); //隐藏清空按钮
}
//搜索结果标题头折叠面板
function foldList(t) {
var fold = t.nextElementSibling; ///ul标签
if(fold.style.display == "none") {
$(fold).slideDown(200);
$(t).removeClass("mb10");
} else {
$(fold).slideUp(200);
$(t).addClass("mb10");
}
}
</script>
</body>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。