Skip to content
Snippets Groups Projects
Select Git revision
  • d9e3646bf64ce497b8b95a039e7ad784bd753122
  • main default protected
2 results

Aufgabe02.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    returnDestination.dart 6.76 KiB
    // ignore_for_file: prefer_const_constructors, use_key_in_widget_constructors, avoid_print, prefer_is_not_empty, use_build_context_synchronously
    
    import 'dart:convert';
    import 'package:flutter/material.dart';
    import 'package:flutter_typeahead/flutter_typeahead.dart';
    import 'package:http/http.dart' as http;
    import 'getStreetNumber.dart';
    import '../config/config.dart';
    
    class ReturnDestination extends StatefulWidget {
      String destinationText;
      ReturnDestination(this.destinationText);
      @override
      State<ReturnDestination> createState() => _ReturnDestinationState();
    }
    
    class _ReturnDestinationState extends State<ReturnDestination> {
      Config config = Config();
      TextEditingController textFieldController = TextEditingController();
      List<String> suggestions = [];
    
      Future<List<String>> fetchLocation(String query) async {
        final response = await http.get(
          Uri.parse(
            'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=$query&radius=500&key=${config.GOOGLE_API}',
          ),
        );
        var jsonData = jsonDecode(response.body);
        suggestions = [];
        for (int i = 0; i < jsonData['predictions'].length; i++) {
          suggestions.add(jsonData['predictions'][i]['description'].toString());
        }
        return suggestions;
      }
    
      void _sendDataBack(BuildContext context) async {
        final result = await Navigator.push(
          context,
          MaterialPageRoute(
            builder: (context) => GetStreetNumber(textFieldController.text),
          ),
        );
        if (result != null) {
          textFieldController.text = result;
        }
        String textToSendBack = textFieldController.text;
        if (textToSendBack.isEmpty) return;
        Navigator.pop(context, textToSendBack);
      }
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            backgroundColor: Color.fromRGBO(9, 89, 95, 1),
            title: Text(
              'Destination Point',
              style: TextStyle(
                color: Theme.of(context).accentColor,
                fontSize: 22,
              ),
            ),
            leading: IconButton(
              iconSize: 26,
              icon: Icon(
                Icons.arrow_back_ios_rounded,
                color: Theme.of(context).accentColor,
              ),
              onPressed: () {
                Navigator.pop(context);