Flutter燃油价格查询插件tankerkoenig_api的使用

发布于 1周前 作者 nodeper 来自 Flutter

Flutter燃油价格查询插件tankerkoenig_api的使用

本包实现了tankerkoenig API。通过此API,您可以获取德国加油站的柴油、E5和E10燃油信息。请注意,此插件并非由tankerkönig开发!

平台-Flutter 平台-Dart pub 捐赠

使用方法

要使用此包,需要一个API密钥。您可以在 https://creativecommons.tankerkoenig.de/ 获取。

// 忽略未初始化变量的警告
import 'package:latlong2/latlong.dart';
import 'package:tankerkoenig_api/tankerkoenig_api.dart';

void main(List<String> arguments) async {
  var response;

  // 初始化TankerkoenigApi实例,并传入您的API密钥
  TankerkoenigApi api = TankerkoenigApi("cffa4fb8-7a16-cd85-7946-263722530f15");

  // 通过经纬度和半径获取附近的加油站信息
  response = await api.getStationsByRadius(
    LatLng(
      48.8,  // 纬度
      9.24,  // 经度
    ),
    1,  // 半径(单位:公里)
  );

  // 通过邮政编码获取加油站信息
  response = await api.getStationsByPostalCode(
    49393,  // 邮政编码
  );

  // 通过加油站ID获取特定加油站信息
  response = await api.getStationsByIds(
    "92f703e8-0b3c-46da-9948-25cb1a6a1514,83d5ac80-4f23-4106-b054-7c7704bfcb95",  // 加油站ID列表
    LatLng(
      48.8,  // 纬度
      9.24,  // 经度
    ),
  );

  // 打印响应结果
  print(response);
}

更多关于Flutter燃油价格查询插件tankerkoenig_api的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter燃油价格查询插件tankerkoenig_api的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,下面是一个关于如何使用 tankerkoenig_api 插件在 Flutter 中查询燃油价格的示例代码。这个插件允许你访问 Tankerkönig API,以获取燃油价格信息。

首先,确保你已经在 pubspec.yaml 文件中添加了 tankerkoenig_api 依赖:

dependencies:
  flutter:
    sdk: flutter
  tankerkoenig_api: ^最新版本号  # 请替换为当前最新版本号

然后,运行 flutter pub get 来获取依赖。

接下来,在你的 Flutter 应用中使用这个插件。以下是一个简单的示例,展示如何获取并显示燃油价格:

import 'package:flutter/material.dart';
import 'package:tankerkoenig_api/tankerkoenig_api.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  late TankerkoenigApi _tankerkoenigApi;
  late List<Station> _stations;
  late String _apiKey = '你的API_KEY';  // 请替换为你的实际API密钥

  @override
  void initState() {
    super.initState();
    _tankerkoenigApi = TankerkoenigApi(_apiKey);
    _fetchFuelPrices();
  }

  Future<void> _fetchFuelPrices() async {
    try {
      // 假设我们要查询柏林的燃油价格,使用柏林的邮政编码10115
      var response = await _tankerkoenigApi.getStationsByDetails(details: Details(city: 'Berlin', postcode: '10115'));
      setState(() {
        _stations = response.stations!;
      });
    } catch (e) {
      print('Error fetching fuel prices: $e');
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('燃油价格查询'),
        ),
        body: _stations.isEmpty
            ? Center(child: CircularProgressIndicator())
            : ListView.builder(
                itemCount: _stations.length,
                itemBuilder: (context, index) {
                  var station = _stations[index];
                  return Card(
                    child: ListTile(
                      title: Text('加油站: ${station.name}'),
                      subtitle: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: [
                          Text('地址: ${station.address}'),
                          Text('E10: ${station.prices?.e10 ?? 'N/A'} €'),
                          Text('Super: ${station.prices?.super ?? 'N/A'} €'),
                          Text('Diesel: ${station.prices?.diesel ?? 'N/A'} €'),
                        ],
                      ),
                    ),
                  );
                },
              ),
      ),
    );
  }
}

在这个示例中,我们做了以下几件事:

  1. 初始化 TankerkoenigApi 实例,并传入你的 API 密钥。
  2. 使用 getStationsByDetails 方法根据城市和邮政编码获取加油站信息。
  3. 在 UI 中显示获取到的加油站名称、地址以及各种燃油类型(E10、Super、Diesel)的价格。

请确保你已经从 Tankerkönig 获取了一个有效的 API 密钥,并替换示例代码中的 '你的API_KEY'

这个示例展示了如何使用 tankerkoenig_api 插件来获取并显示燃油价格。你可以根据需要进一步扩展这个示例,例如添加错误处理、用户输入城市/邮政编码的功能等。

回到顶部