微信小程序使用百度api获取天气信息 —— 微信小程序教程系列

时间:2024-04-13 10:29:25

1> 第一步:先到百度开放平台http://lbsyun.baidu.com申请ak
http://lbsyun.baidu.com/index.php?title=wxjsapi/guide/key

微信小程序使用百度api获取天气信息 —— 微信小程序教程系列

申请到ak后,在我的应用里就能查看到

微信小程序使用百度api获取天气信息 —— 微信小程序教程系列


2> 第二步:配置你的request合法域名

配置域名请到微信公众平台的后台里设置

微信小程序使用百度api获取天气信息 —— 微信小程序教程系列


3> 第三步:下载百度地图的api ,链接:http://download.****.net/detail/michael_ouyang/9754015
解压后,里面有2个js文件,一个是常规没压缩的,另一个是压缩过的
PS:由于小程序项目文件大小限制为1M,建议使用压缩版的js文件!

微信小程序使用百度api获取天气信息 —— 微信小程序教程系列


4> 第四步:引入JS模块
在项目根目录下新建一个路径,将百度的js文件拷贝到新建的路径下,完成。
如下图所示,新建路径 "libs/bmap-wx" ,将 bmap-xw.min.js 文件拷贝至 "libs/bmap-wx" 路径下。

微信小程序使用百度api获取天气信息 —— 微信小程序教程系列


5> 第五步:在所需的js文件内导入js
// 引用百度地图,注意:require传入一个相对路径
var bmap = require('../../libs/bmap-wx/bmap-wx.js'); 



6> 第六步:编辑代码
注意:此处楼主使用的ak是随便写的,同学们需要自行申请!!!
xxx.wxml:

[html] view plain copy
  1. <view>   
  2.   <text>{{weatherData}}</text>   
  3. </view>  
  4. <view style="padding-top:30px"></view>  
  5. <block wx:for="{{futureWeather}}">  
  6.     <view style="border:1px solid #ccc; margin:5px">  
  7.         <view>{{item.date}}</view>  
  8.         <view>{{item.temperature}}</view>  
  9.         <view>{{item.weather}}</view>  
  10.         <view>{{item.wind}}</view>  
  11.     </view>  
  12. </block>  


xxx.js:

[javascript] view plain copy
  1. // 引用百度地图微信小程序JSAPI模块   
  2. var bmap = require('../../libs/bmap-wx/bmap-wx.min.js');  
  3.   
  4. Page({  
  5.   data:{  
  6.     ak:"FHG7utZtdyXN23W",  
  7.     weatherData:'',  
  8.     futureWeather:[]  
  9.   },  
  10.   onLoad:function(options){  
  11.     var that = this;  
  12.     // 新建bmap对象   
  13.     var BMap = new bmap.BMapWX({   
  14.         ak: that.data.ak   
  15.     });   
  16.     var fail = function(data) {   
  17.         console.log(data);  
  18.     };   
  19.     var success = function(data) {   
  20.             console.log(data);  
  21.               
  22.             var weatherData = data.currentWeather[0];   
  23.             var futureWeather = data.originalData.results[0].weather_data;  
  24.             console.log(futureWeather);  
  25.         weatherData = '城市:' + weatherData.currentCity + '\n' + 'PM2.5:' + weatherData.pm25 + '\n' +'日期:' + weatherData.date + '\n' + '温度:' + weatherData.temperature + '\n' +'天气:' + weatherData.weatherDesc + '\n' +'风力:' + weatherData.wind + '\n';   
  26.         that.setData({   
  27.           weatherData: weatherData,  
  28.           futureWeather: futureWeather  
  29.         });   
  30.     }   
  31.           
  32.         // 发起weather请求   
  33.         BMap.weather({   
  34.             fail: fail,   
  35.             success: success   
  36.         });   
  37.   }  
  38.     
  39. })  



7> 第七步:运行

微信小程序使用百度api获取天气信息 —— 微信小程序教程系列