微信小程序之线路查询
来源:互联网 发布:诺基亚n95软件下载 编辑:程序博客网 时间:2024/04/29 11:43
线路查询界面布局:
主要代码:
<!--index.wxml-->
<view class="container"> <!--城市定位--> <view class="top"> <view class="top_left"> <text> {{city}}</text> </view> <!--搜索框--> <view class="top_right"> <input placeholder="search" type="text" value=""/> </view><!--按钮切换--> <view class="btn" bindtap="changeBtn"> <view class="{{currentIndex==0?'active':''}}" data-index="0">最近使用 </view> <view class="{{currentIndex==1?'active':'active'}}" data-index="1">查询路线 </view> <view class="{{currentIndex==2?'active':''}}" data-index="2">收藏 </view> </view><view class="contain"><!--站点查询--> <view class="from1"> <input bindchange="inputStart" placeholder="> 起始站" placeholder-class="from1-text" /> </view> <view class="image"> <image catchtap="bindImg" animation="{{animation}}" src="../../images/switch1.png" > </image></view> <view class="from2"> <input bindchange="inputEnd" placeholder="> 终点站" placeholder-class="from2-text"/> </view> <!--查询按钮--> <image catchtap="searchReault" src="../../images/search6.png"></image> <!--扣费选择--> <view class="switch1"> <text class="text">是否到站自动扣费?</text> <switch checked bindchange="switchChange"/> </view></view> <!--显示界面--> <view class="line"><block wx:for="{{busline}}" wx:key="{{index}}"><navigator class="list list-bg1" url="../busline/busline?id={{index}}" wx:if="{{condition}}"> <text class="text1">乘车方案{{index+1}}:</text> <text class="text2">{{item.vehicles}} <text class="text3">详细>></text></text> </navigator> </block> </view> </view></view>
/**index.wxss**/
.top { float: left; width: 100%; height:90rpx; background:linear-gradient(to bottom,rgba(51,190,44,1), rgba(51,190,44,0.6)); /*background:linear-gradient(rgba(140,224,178,0.9), rgba(140,224,178,0.6));*/}.top_left{ float: left; width:25%; margin-top:10rpx; color: #fff; }.top_left text{ color:#fff; margin-left: 12%; text-align:center; font-weight: bolder; font-size: 40rpx; /* text-shadow:0 0 0.2em rgba(0,0,0,.2), -0 -0 0.2em rgba(0,0,0,.2);*/}.top_right{ height: 100%; /*background:#66CC9A;*/ /*background:#5FAC4B;*/}/**搜索框**/.top_right input{ float:left; width:58%; margin-left:3%; height:60rpx; padding-left:32rpx; border-radius:12px; border:2px solid rgba(255,255,255,.3); box-shadow: inset 0px 0px 6px rgba(255,255,255,.1);} .top_right text{ float: left; margin-left:2%;}/*.search{ position: relative;} .search:before{ float: right; margin-top: 10rpx; margin-right:-8%; content: ' '; width:35rpx; height:35rpx; border:2px solid #fff; border-radius:36rpx; box-shadow: inset 1px 1px 10px rgba(0,0,0,.2);}.search:after { float: right; margin-right:-60rpx; margin-top:20px; content: ' '; width:30rpx; height:8rpx; background: #fff; border-radius: 8rpx 0 0 8rpx; transform: rotate(45deg); } *//*切换按钮*/.btn{ width:100%; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:horizontal; -webkit-box-direction:normal; -ms-flex-direction:row; flex-direction:row; font-size:40rpx; -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; background: #fff; position:relative;}.btn,.btn:before{box-sizing:border-box}.btn:before{ content:''; width:200%; height:0; position:absolute; left:0; bottom:0; -webkit-transform:scale(.5); transform:scale(.5); -webkit-transform-origin:0 0; transform-origin:0 0}.btn view{ width:40%; height:3rem; line-height:3rem; text-align:center; color:#666; font-weight:500}.btn view.active{color:#33BE2C;position:relative}.btn view.active:after{ content:''; width:200%; height:0; position:absolute; left:0; bottom:-.053333rem; border-bottom:4px solid #33BE2C; -webkit-transform:scale(.5); transform:scale(.5); -webkit-transform-origin:0 0; transform-origin:0 0; }.contain{ width: 100%; margin-top:6px; background: #fff;}/*站点查询*/.image{ margin-left: 2%;width:25%;height:30px;display: block;}.image>image{ margin-top:-18rpx;width:25px;height: 25px}.from1{ float:left;display: block; margin-left:15%;width:55%; padding-top:11px; padding-bottom:6rpx; border-bottom:1px solid #ccc;}.from2{ float:left; padding-top:8rpx;display: block; margin-left:15%;width:63%; padding-bottom:18px;}.from1-text{ color:#B2B2B2; font-size: 30rpx; padding-bottom:4rpx;}.from2-text{ color:#B2B2B2; font-size: 30rpx;}.contain>image{width:25px;height:25px; margin-top: -2px; margin-left: 5%; padding-bottom: 16px;}/*扣费选择*/.switch1{ display: block;float:left;width:100%;background: #fff; padding-top:10px;padding-bottom:5px;}.switch1 text{ float: left; color:#424242; margin-top:30rpx; margin-left: 10px; text-align:center; font-size: 40rpx;}.switch1 switch{ margin-top:10rpx; margin-bottom: 10rpx; margin-left:30%;}/*查询结果*/.line{ width:94%; margin:0 auto; line-height: 100rpx; margin-top:20%; box-shadow:3px 3px 3px rgba(0,0,0,.2); border-radius:12rpx; }.list text { flex-grow:2;}.text1 { width: 18%; margin-left:3%; text-align: center; font-size:36rpx; color:#424242;}.text2 { margin-left:2%; text-align: center; width:82%; font-size: 38rpx; color:#2CAB26;}.list-bg1:nth-of-type(n){ background-color: #fff;}.text3{ float: right; margin-right: 30rpx; font-size:34rpx;}.nolist { text-align: center; width: 100%; font-size: 28rpx; padding-top: 40rpx; color: #c82829;}
/**index.js**/
var tcity = require("../../utils/citys.js");var url="url";/*API地址:可参考极速数据*/var ak="appkey";Page({ data:{ busline:[], city: "", rotate: -180 },onLoad:function(options){ this.loadInfo(); console.log('onLoad...'); }, //获取经纬度信息loadInfo:function(){ var page=this wx.getLocation({ type: 'wgs84', success: function(res){ // success var latitude=res.latitude //纬度 var longitude=res.longitude //经度 page.loadCity(latitude,longitude) }, fail: function() { // fail }, complete: function() { // complete } }) }, //获取城市信息 loadCity:function(latitude,longitude){ var page =this wx.request({ url: url+'geoconvert/coord2addr?lat='+latitude+'&lng='+longitude+'&type=baidu&appkey='+ak, data: {}, header:{ 'Content-Type':'application/json' }, success: function(res){ // success console.log(res); var city=res.data.result.city; var province= res.data.result.province var county=res.data.result.district page.setData({province:province}); page.setData({city:city}); page.setData({county:county}); }, fail: function() { // fail }, complete: function() { // complete } }) }, //按钮切换 changeBtn: function(ev) { this.setData({ currentIndex: ev.target.dataset.index }); }, //键盘输入起始位置站台 inputStart:function(e){ var that=this; that.setData({ start:e.detail.value }); }, //键盘输入终点位置站台 inputEnd:function(e){ var that=this; that.setData({ endaddr:e.detail.value }); },//交换地址bindImg:function(){ var that=this;var animation = wx.createAnimation({ timingFunction: "ease", duration: 400 }) this.animation = animation; animation.rotateZ(this.data.rotate).step(); this.setData({ rotate: -1*this.data.rotate, animation: animation.export(), }) },//是否自动扣费switchChange: function (e){ console.log('switch1 发生 change 事件,携带值为', e.detail.value) },//点击查询按钮触发 searchReault:function(){ var that = this; //加载完成前,显示加载中的提示框 wx.showToast({ title:'正在努力加载中...', icon:'loading', duration:6000 }); //输入框没有输入的判断 if(that.data.start== '' || that.data.endaddr== '' ){ wx.hideToast(); return; } //发起请求,根据公交站点查询符合线路信息 wx.request({ url:url+'city='+that.data.city+'&start='+that.data.start+'&end='+that.data.endaddr+'&appkey='+ak+'&type=transit', data: {}, success: function(res){ console.log(res.data) var data=res.data; that.setData({ busline:data.result, condition:true, }); wx.setStorageSync('busline', data.result) //数据加载完成后隐藏加载框 wx.hideToast(); }, }) }})
/**app.json**/
{ "pages":[ "pages/index/index", "pages/state/state", "pages/busline/busline", "pages/mine/mine" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#33BE2C", "navigationBarTitleText": "慧行公交", "navigationBarTextStyle":"white" }, "tabBar": { "selectedColor": "#33BE2C", "borderStyle": "white", "list": [{ "pagePath": "pages/index/index", "text": "首页", "iconPath":"/images/index1.png", "selectedIconPath":"/images/index.png" }, { "pagePath": "pages/state/state", "text": "状态", "iconPath":"/images/state1.png", "selectedIconPath":"/images/state.png" }, { "pagePath": "pages/mine/mine", "text": "我的", "iconPath":"/images/mine1.png", "selectedIconPath":"/images/mine.png" } ]
/**app.wxss**/
page { background-color: #EFEFEF;/*页面颜色*/ height: 100%;}/**app.wxss**/.container { position: absolute; height: 100%; width: 100%; min-height: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: 0; box-sizing: border-box; background-color: #f8f8f8;} .citypickers{ position: fixed; height: 100%; width: 100%; min-height: 100%; background-color: red;}.citybody { position: fixed; bottom: 0px;}.cityheader { position: absolute; top:0px; width: 100%; z-index: 4;}.city-cancel { float: left; margin: 20rpx; color: #818181;}.city-true { float: right; margin: 20rpx; color: #2FB42E}.section .picker { background-color: #fff; border-bottom: 1px #d9d9d9 solid; border-top: 1px #d9d9d9 solid; padding: 20rpx;} }}
0 0
- 微信小程序之线路查询
- Android开发之百度SDK的使用--线路查询
- 公交车线路查询系统
- 乘车线路查询
- 公交车线路查询系统
- 微信小程序之快递查询
- 微信小程序之快递查询
- 转:邹建--乘车线路查询
- 最短乘车线路查询
- SQL-公交车线路查询系统
- 查询线路详情-百万公交
- 高德地图之反地理编码、线路规划、天气查询
- 西安查询公交车,实时公交,线路查询
- 苏州地铁线路查询接口 地铁线路实时详细信息
- [微信小程序]基于微信小程序之天气查询demo
- 线路
- 线路
- 上海电子交通图 线路查询网站
- 堆跟栈
- C# 类中隐藏基类方法和Partial
- 怎样才能很好的玩转 ArcGIS API for JS?
- 汽车加油_OJ
- ContentProvider
- 微信小程序之线路查询
- 申嵌嵌入式视频
- App真机
- 学习mongoDB的一些感受
- 简单的抽屉效果
- 哥德巴赫猜想_CJ
- nodejs、npm、cnpm、bower in windows
- 国嵌Linux与嵌入式视频
- 分析:Android_Wifi_HAL层