百度天气预报API接口的一个坑

在开发微信小程序时,作者遇到使用百度天气预报API获取数据的问题。经过一天的调试,发现是location参数的顺序不正确,天气API需要经度在前,纬度在后,而其他一些百度API则是纬度在前,经度在后,这个细节导致了获取数据的失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于疫情的关系不能出门,所以在家学习微信小程序的开发,利用百度天气预报API接口来获取天气数据,折腾了一天,总是获取不到天气数据,搞得我一头雾水。。。

今天我下载了百度的demo程序,利用里面提供的JavaScript API模块可以获取到正确的数据,然后我就对比我的代码和API模块的代码,发现竟然是传递的参数location的问题,模块的location = longitude<经度>,latitude<纬度>,竟然是经度在前,纬度在后!!!而别的比如逆地址解析、POI检索正好相反,location = latitude<纬度>,longitude<经度>。原来我调试过逆地址解析能得到数据,所以我以为天气API接口参数loaction也是一样的,没想到是反的,郁闷!

简单的代码如下:


//获取应用实例
const app = getApp();

Page({
  data: {
  },
  //事件处理函数

  onLoad: function () {
    var that = this;

    that.getlocation();
  
  },

  getlocation: function () {
    var that = this;
    wx.getLocation({
      type: 'wgs84',
      success(res) {
        const latitude = res.latitude
        const longitude = res.longitude

     
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值