文字列補間でstatusCodeエラーを取得する

pratteek shaurya

以下は私のコードです:

const apiKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXX';

class LoadingScreen extends StatefulWidget {
  @override
  _LoadingScreenState createState() => _LoadingScreenState();
}

class _LoadingScreenState extends State<LoadingScreen> {
  double latitude;
  double longitude;

  @override
  void initState() {
    super.initState();

    getLocation();
    print('code started');

    getData();
  }

  void getLocation() async {
    Location location = Location();
    await location.getCurrenctLocation();
    print(location.latitude);
    print(location.longitude);

    latitude = location.latitude; // SAVING LATITUDE POSITION HERE
    longitude = location.longitude;  // SAVING LONGITUDE POSITION HERE
  }

  void getData() async {
    http.Response response = await http.get(
        'https://api.openweathermap.org/data/2.5/weather?lat=25&lon=85&appid=$apiKey');

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

      var decodedData = jsonDecode(data);

      double temperature = decodedData['main']['temp'];
      int condition = decodedData['weather'][0]['id'];
      String cityName = decodedData['name'];

      print(temperature);
      print(cityName);
      print(condition);
      
    } else {
      print(response.statusCode);
    }
  }

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

今、私はこの出力を得ています:

flutter: code started
flutter: 25.5
flutter: 85.1
flutter: 300.15
flutter: Tekāri

URLを変更すると問題が発生する

変更前: https://api.openweathermap.org/data/2.5/weather?lat=25&lon=85&appid=$apiKey

変更後: https://api.openweathermap.org/data/2.5/weather?lat=$latitude&lon=$longitude&appid=$apiKey

この変更を行った後の出力は次のとおりです。

flutter: code started
flutter: 25.5
flutter: 85.1
flutter: 400

つまり、statusCodeは400であり、エラーが発生しています。しかし、URLの変更を行う前に、私position.latitudeposition.longitudeしは、変数にこれらの二つのURLを渡し保存私がやった唯一の事だった後のことを、プリントを取得します。statusCodeが400になる理由がわかりません。

Youri Lieverdink

このエラーは文字列の補間ではなく、変数の初期化と関係があると思います。

コードを見ると、関数 'getData()'が呼び出されたときに、変数の緯度と経度が初期化されているとは思いません。

'getLocation()'関数内から関数 'getData()'を呼び出し、 'initState()'から削除する必要があります。このような:

void getLocation() async {
    Location location = Location();
    await location.getCurrenctLocation();
    print(location.latitude);
    print(location.longitude);

    latitude = location.latitude; // SAVING LATITUDE POSITION HERE
    longitude = location.longitude;  // SAVING LONGITUDE POSITION HERE

    getData();
  }

それがうまくいくかどうか私に知らせてください!

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Angularjsで文字列補間内で改行を取得する方法

分類Dev

文字列補間でドル記号をエスケープする

分類Dev

スニペットで文字列補間をエスケープする方法

分類Dev

文字列補間で引用符をエスケープするs "ALTER TABLE $ {keyspace}。\" $ {tableName} \ ""

分類Dev

文字列(別名補間文字列)のフォーマットで三項演算子を使用するとエラーが発生する

分類Dev

const文字列を補間するとコンパイラエラーが発生するのはなぜですか?

分類Dev

バベル文字列補間エラー

分類Dev

python / jinga2バックエンドから送信された補間文字列で無効なトークンを取得する

分類Dev

ngForでタグ属性値を補間すると、常に「式が期待された場所で補間({{}})を取得」エラーが発生します

分類Dev

引用符をエスケープしたScala文字列補間が失敗する

分類Dev

jframe文字列データでエラーを取得する方法

分類Dev

アノテーションクラス内の文字列を補間する

分類Dev

文字列リテラルでのエスケープ文字列補間

分類Dev

文字列リテラルで文字列補間を使用するにはどうすればよいですか?

分類Dev

文字列比較でxsltのif条件のエラーを取得する

分類Dev

文字列補間でダッシュをフォーマットする

分類Dev

変数を文字列に補間する

分類Dev

文字列内を補間する方法は?

分類Dev

補間文字列$は無効な文字と見なされ、エラーBC30037(vb.net)を返します。

分類Dev

Scala文字列補間空文字列コンパイルエラー

分類Dev

TypeScriptで文字列補間を実行する方法は?

分類Dev

Dockerの文字列で変数補間を使用する

分類Dev

角度の文字列補間でrouterlinkを追加する方法

分類Dev

Lessの文字列でマップ値を補間する方法

分類Dev

string.replaceで文字列補間を使用する方法

分類Dev

CultureInfoで文字列補間を使用する方法は?

分類Dev

Groovyで文字列を補間する方法は?

分類Dev

Angular Translate:HTMLの補間文字列で.replaceを使用する

分類Dev

numpy / scipyで補間された配列値を取得する方法

Related 関連記事

  1. 1

    Angularjsで文字列補間内で改行を取得する方法

  2. 2

    文字列補間でドル記号をエスケープする

  3. 3

    スニペットで文字列補間をエスケープする方法

  4. 4

    文字列補間で引用符をエスケープするs "ALTER TABLE $ {keyspace}。\" $ {tableName} \ ""

  5. 5

    文字列(別名補間文字列)のフォーマットで三項演算子を使用するとエラーが発生する

  6. 6

    const文字列を補間するとコンパイラエラーが発生するのはなぜですか?

  7. 7

    バベル文字列補間エラー

  8. 8

    python / jinga2バックエンドから送信された補間文字列で無効なトークンを取得する

  9. 9

    ngForでタグ属性値を補間すると、常に「式が期待された場所で補間({{}})を取得」エラーが発生します

  10. 10

    引用符をエスケープしたScala文字列補間が失敗する

  11. 11

    jframe文字列データでエラーを取得する方法

  12. 12

    アノテーションクラス内の文字列を補間する

  13. 13

    文字列リテラルでのエスケープ文字列補間

  14. 14

    文字列リテラルで文字列補間を使用するにはどうすればよいですか?

  15. 15

    文字列比較でxsltのif条件のエラーを取得する

  16. 16

    文字列補間でダッシュをフォーマットする

  17. 17

    変数を文字列に補間する

  18. 18

    文字列内を補間する方法は?

  19. 19

    補間文字列$は無効な文字と見なされ、エラーBC30037(vb.net)を返します。

  20. 20

    Scala文字列補間空文字列コンパイルエラー

  21. 21

    TypeScriptで文字列補間を実行する方法は?

  22. 22

    Dockerの文字列で変数補間を使用する

  23. 23

    角度の文字列補間でrouterlinkを追加する方法

  24. 24

    Lessの文字列でマップ値を補間する方法

  25. 25

    string.replaceで文字列補間を使用する方法

  26. 26

    CultureInfoで文字列補間を使用する方法は?

  27. 27

    Groovyで文字列を補間する方法は?

  28. 28

    Angular Translate:HTMLの補間文字列で.replaceを使用する

  29. 29

    numpy / scipyで補間された配列値を取得する方法

ホットタグ

アーカイブ