微信小程序学习(16) —— 百度api获取天气信息

之前已经介绍过,如何使用百度地图api来获取地理位置信息

微信小程序的百度地图获取地理位置 —— 微信小程序教程系列(15)

 

下面介绍使用百度api来获取天气信息。

 

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

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

 

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

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

 

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

 

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

 

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


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

 

 
  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:

 

 
  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,可到github查看:https://github.com/baidumapapi/wxapp-jsapi

 

内容转自:https://blog.csdn.net/michael_ouyang/article/details/55099684

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答你的问题。首先,获取用户位置需要在小程序中使用微信提供的API,具体步骤如下: 1. 引入API ``` // 在页面的JS文件中引入API const QQMapWX = require('../../utils/qqmap-wx-jssdk.min.js'); ``` 2. 初始化API ``` // 在页面的JS文件中初始化API const qqmapsdk = new QQMapWX({ key: '你的腾讯地图开发者密钥' }); ``` 3. 获取用户位置 ``` // 在页面的JS文件中获取用户位置 wx.getLocation({ type: 'gcj02', success(res) { const latitude = res.latitude; const longitude = res.longitude; qqmapsdk.reverseGeocoder({ location: { latitude, longitude }, success(res) { console.log(res); } }); }, fail(res) { console.log(res); } }); ``` 接下来是异常流处理的完整示例: ``` // 在页面的JS文件中引入API const QQMapWX = require('../../utils/qqmap-wx-jssdk.min.js'); // 在页面的JS文件中初始化API const qqmapsdk = new QQMapWX({ key: '你的腾讯地图开发者密钥' }); // 在页面的JS文件中获取用户位置 wx.getLocation({ type: 'gcj02', success(res) { const latitude = res.latitude; const longitude = res.longitude; qqmapsdk.reverseGeocoder({ location: { latitude, longitude }, success(res) { console.log(res); }, fail(res) { console.log(res); wx.showToast({ title: '获取位置失败', icon: 'none' }); } }); }, fail(res) { console.log(res); wx.showModal({ title: '提示', content: '获取位置失败,请检查是否开启定位权限', showCancel: false, confirmText: '知道了' }); } }); ``` 在这个示例中,我们通过`wx.getLocation`方法获取用户位置,并且使用`qqmapsdk.reverseGeocoder`方法将经纬度转换为详细地址信息。如果获取位置或转换地址信息失败,我们会使用`wx.showToast`或`wx.showModal`方法提醒用户。这就是异常流处理的完整示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值