首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cod 400,消息:错误纬度,OpenWearher:获取当前weatherData

Cod 400,消息:错误纬度,OpenWearher:获取当前weatherData
EN

Stack Overflow用户
提问于 2022-04-14 12:24:40
回答 1查看 131关注 0票数 0

当我试图获取当前的天气数据时,我得到了错误(错误的纬度)。有人能告诉我出了什么问题吗?我试着把locationAccuracy从低变到最好,但它没有改变任何东西

代码语言:javascript
复制
Location location = Location();
class _LoadingScreenState extends State<LoadingScreen> {
  String weatherABI = '4ead5f41d1c622302dd34242f9d1c25a';
  void getlocation() async {
    await location.getCurrentLocation();
    print(location.latitude);
    print(location.longtiude);
  }

  void getData() async {
    Uri url = Uri.parse(
        'https://api.openweathermap.org/data/2.5/weather?lat=${location.latitude}&lon=${location.longtiude}&appid=$weatherABI');
    Response response = await get(url);
    print(response.body);

    if (response.statusCode == 200) {
      String data = response.body;
      print(data);
    } else {
      print(response.statusCode);
    }
  }

  @override
  void initState() {
    super.initState();
    getlocation();
    getData();
  }

  Widget build(BuildContext context) {
    return Scaffold();
  }
}

错误:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-14 14:59:46

只需在getData()函数的末尾调用函数,因为这两个函数同时调用,这就是getData()函数没有获得任何位置数据的原因。您需要先获得位置,然后调用getData函数。

getData()函数从initState()中删除

代码语言:javascript
复制
  void getlocation() async {
   await location.getCurrentLocation();
   getData();
   print(location.latitude);
   print(location.longtiude);
  }

您还需要在从API中检索数据以更新UI时,调用getData()函数中的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71871570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档