和风天气OUC——通过搜索城市快速查询天气
2019-06-03 23:16
148 查看
在小程序的首页,默认会获取用户的地理位置信息,之后将此位置信息进行转换,作为参数再去调用和风天气的API。但有时候想要看一下其它城市的天气情况,这时就可以通过在首页进行搜索来查询天气。
搜索函数的代码如下
//搜索城市 commitSearch (res) { let val = ((res.detail || {}).value || '').replace(/\s+/g, '') this.search(val) }, clearInput () { this.setData({ searchText: '', }) }, search (val, callback) { wx.pageScrollTo({ scrollTop: 0, duration: 300, }) if (val) { this.setData({ located: false, }) this.getWeather(val) //this.getHourly(val) } callback && callback() },
从上面的代码中可以看到,search函数中调用了一个API,名称为pageScrollTo,此API是用来实现滚动效果的,因为在首页中,除了可以搜索查询城市外,还可以通过选择城市的方式来进行查询。
后面if语句中的val的内容就是用户输入的想要搜索的城市名,如果此名不为空,那么将located设置为false,也就是说现在不使用定位信息了。后面再调用查询天气的函数,次函数具体实现如下。
//根据获取到的地理位置,查询天气 getWeather (location) { wx.request({ url: `${globalData.requestUrl.weather}`, data: { location, key, }, success: (res) => { //console.log(res) if (res.statusCode === 200) { let data = res.data.HeWeather6[0] if (data.status === 'ok') { this.clearInput() this.success(data, location) } else { wx.showToast({ title: '查询失败', icon: 'none', }) } } }, fail: () => { wx.showToast({ title: '查询失败', icon: 'none', }) }, }) },
此函数调用了和风天气的网络API,通过它返回josn格式的数据。
搜索框通过input组件实现,此组件在citychose页面中,通过下面的代码调用citychose页面。
toCitychoose () { wx.navigateTo({ url: '/pages/citychoose/citychoose', }) },
最终效果图如下
相关文章推荐
- axis2通过城市名称调用.net写的asmx WebService查询天气实例 .
- PHP通过气象局开放API查询指定城市(区县)天气
- axis2通过城市名称调用.net写的asmx WebService查询天气实例
- WebServicel通过城市名查询天气
- android listview实现快速查询A—Z (模拟一些天气搜狐,网易等天气预报)
- iOS 通过数字拼音快速搜索股票
- WPF实例:通过WebServices获取城市的天气情况
- 安卓查询当前所在地天气及查询地区(城市)代码cityCode localCode
- 微信公众号开发-输入城市查询天气
- 通过中国天气网的通用接口查询天气
- Android 搜索手机本地的全部视频(通过查询数据库)
- 通过IP查询城市天气预报(抓取sina网天气预报)
- (作业)利用网络编程实现多个城市的天气查询
- 想在自己的android应用中获得当天的天气情况,这该怎么做呢?不用担心。中国国家气象局提供了获取所在城市天气预报信息接口。通过这个接口,我们就可以获取天气信息了。
- listview 通过筛选全部城市显示出搜索的城市
- 天气预报--查询其他城市天气功能实现
- 通过新浪天气api查询天气
- 根据城市查询天气
- 城市天气查询(Java网络、面向对象、多线程、IO)
- 三天完成小应用 大开天气——通过省市县数据库来制作城市选定页面