How to Integrate Google Maps in Flutter

0

In this blog, we will learn how to integrate Google Maps into Flutter. Flutter has become one of the most popular frameworks for building cross-platform mobile apps. One of the most common features in modern apps is location-based services — whether it’s showing nearby restaurants, tracking deliveries, or marking custom locations.

google map flutter

To achieve this in Flutter, we use the Google Maps Flutter plugin. In this article, I’ll walk you through the entire process of integrating Google Maps in a Flutter app, step by step.

Get a Google Maps API Key

  • Go to the Google Cloud Console.
  • Create a new project (or select an existing one).
  • Navigate to APIs & Services > Library.
  • Search for Maps SDK for Android and Maps SDK for iOS, and enable them.
  • Go to APIs & Services > Credentials.
  • Click Create Credentials > API Key.
  • Copy the generated API Key — we’ll need it soon.

Add Dependency In Flutter Project

In your pubspec.yaml, add the official plugin of the latest version:

dependencies:
google_maps_flutter: ^2.12.3

Then run flutter pub get

Configure for Android and IOS

For Android,
Open android/app/src/main/AndroidManifest.xml and add your API key inside the <application> tag:

<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="YOUR_API_KEY_HERE"/>

For iOS, open ios/Runner/AppDelegate.swift .
Import the GoogleMaps and specify your API key in the application delegate ios/Runner/AppDelegate.swift 

import UIKit
import Flutter
import GoogleMaps

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    GMSServices.provideAPIKey("YOUR_API_KEY_HERE")
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

More about the Google Maps Flutter package.

Display Google Map in Flutter

Now, let’s add a simple Google Map widget inside the stateful widget and display the Google Map in a Flutter app.

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

class GoogleMapScreen extends StatefulWidget {
  @override
  _GoogleMapScreenState createState() => _GoogleMapScreenState();
}

class _GoogleMapScreenState extends State<GoogleMapScreen> {
  GoogleMapController? mapController;

  final LatLng _center = const LatLng(27.7172, 85.3240); // Example: Kathmandu, Nepal

  void _onMapCreated(GoogleMapController controller) {
    mapController = controller;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("Google Map in Flutter")),
      body: GoogleMap(
        onMapCreated: _onMapCreated,
        initialCameraPosition: CameraPosition(
          target: _center,
          zoom: 14.0,
        ),
      ),
    );
  }
}

Add Markers

To make the map more interactive, you can also add markers on the map:

Set<Marker> _markers = {};

@override
void initState() {
  super.initState();
  _markers.add(
    Marker(
      markerId: MarkerId("1"),
      position: LatLng(27.7172, 85.3240),
      infoWindow: InfoWindow(title: "Kathmandu", snippet: "Capital of Nepal"),
    ),
  );
}

Then pass it inside your GoogleMap widget:

GoogleMap(
  onMapCreated: _onMapCreated,
  initialCameraPosition: CameraPosition(
    target: _center,
    zoom: 14.0,
  ),
  markers: _markers,
)

Advanced Features

Once you’re comfortable with the basics, you can explore more:

  • Polylines for routes
  • Custom Map Styles
  • User Location Tracking
  • Clustered Markers for better performance

With these steps, integrating Google Maps into a Flutter app becomes straightforward and effective, empowering mobile apps with rich, interactive map capabilities. After this, you have to get the answer to how to integrate Google Maps into Flutter.

🔥 Pro Tip: Don’t forget to secure your API key by restricting access to it in the Google Cloud Console.

Previous articleGoogle Sign In Flutter Firebase
Next articleStripe Payment Integration in Flutter

LEAVE A REPLY

Please enter your comment!
Please enter your name here