VRAJ PATEL
VRAJ PATEL

Reputation: 25

How to open google maps by clicking on a button in flutter

I am new to flutter and I want to open google maps by clicking on button using flutter. Here is my code and in that code on line no 98 I want to open google maps by clicking on share your location button so please give me a suggestion that which dependencies I should use to do so (google-maps-flutter or google-urls) and what changes I should make in my code.

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

import 'maps.dart';


class Intro extends StatefulWidget {
  const Intro({Key? key}) : super(key: key);

  @override
  _IntroState createState() => _IntroState();
}

class _IntroState extends State<Intro> {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: Text('\t\t\t\t\t\t\t\t\t\tShree Food'),backgroundColor: Color(0xff01A0C7)),
        body: Column(
            children:[
              Container(
                child: Padding(
                  padding: const EdgeInsets.all(36.0),
                  child: Center(
                    child: Card(
                      child: Column(
                        mainAxisSize: MainAxisSize.min,
                        children: <Widget>[
                          const ListTile(
                            title: Text('Goal'),
                          ),
                          Row(
                            mainAxisAlignment: MainAxisAlignment.end,
                            children: <Widget>[
                              TextButton(
                                child: const Text('>'),
                                onPressed: () {
                                  showAlertDialog(context);
                                },
                              ),
                              const SizedBox(width: 8),
                            ],
                          ),
                        ],
                      ),
                    ),
                  ),
                ),
              ),
              Container(
                child: Padding(
                  padding: const EdgeInsets.all(36.0),
                  child: Center(
                    child: Card(
                      child: Column(
                        mainAxisSize: MainAxisSize.min,
                        children: <Widget>[
                          const ListTile(
                            title: Text('Vision'),
                          ),
                          Row(
                            mainAxisAlignment: MainAxisAlignment.end,
                            children: <Widget>[
                              TextButton(
                                child: const Text('>'),
                                onPressed: () {
                                  showAlertDialog1(context);
                                },
                              ),
                              const SizedBox(width: 8),
                            ],
                          ),
                        ],
                      ),
                    ),
                  ),
                ),
              ),
              Container(
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.center,
                  children: <Widget>[
                  GridView.count(
                    primary: false,
                    padding: EdgeInsets.all(50),
                    shrinkWrap: true,
                    crossAxisCount: 2,
                    children: [
                    Column(
                    children : [
                      IconButton(
                        icon: Image.asset(
                          'images/maps.png',
                        ),
                      iconSize: 80,
                      onPressed: () {
                        **//I want to open google maps by clicking on this button**
                      },
                    ),
                    Text('Share Your Location')
                    ],
                    ),
                    Column(
                    children : [
                      IconButton(
                        icon: Image.asset(
                          'images/donate.jpg',
                        ),
                      iconSize: 80,
                      onPressed: () {
                      },
                      ),
                       Text('Donate Zone')
                    ],
                    ),
                  ],
                  ),
                ],
                ),
              )
            ]
        )
    );
  }
}

showAlertDialog(BuildContext context) {
  // Create button
  Widget okButton = FlatButton(
    child: Text("OK"),
    onPressed: () {
      Navigator.of(context).pop(MaterialPageRoute(builder: (context) => Intro()));
    },
  );

  // Create AlertDialog
  AlertDialog alert = AlertDialog(
    title: Text("Simple Alert"),
    content: Text("This is an alert message."),
    actions: [
      okButton,
    ],
  );

  // show the dialog
  showDialog(
    context: context,
    builder: (BuildContext context) {
      return alert;
    },
  );
}

showAlertDialog1(BuildContext context) {
  // Create button
  Widget okButton = FlatButton(
    child: Text("OK"),
    onPressed: () {
      Navigator.of(context).pop(MaterialPageRoute(builder: (context) => Intro()));
    },
  );

  // Create AlertDialog
  AlertDialog alert = AlertDialog(
    title: Text("Simple Alert"),
    content: Text("This is an alert message."),
    actions: [
      okButton,
    ],
  );

  // show the dialog
  showDialog(
    context: context,
    builder: (BuildContext context) {
      return alert;
    },
  );
}

Upvotes: 2

Views: 3055

Answers (1)

Fahmi Sawalha
Fahmi Sawalha

Reputation: 622

if I understood your question , you want to open google maps when pressing on a button , if this is the case you need to use this package :

map_launcher

give it a try

Upvotes: 3

Related Questions