Flutter Stuff

How to Add Multiple Markers on Google Map in Flutter

How to Add Multiple Markers on Google Map in Flutter

Google Maps is a popular mapping service that provides detailed maps of areas all over the world. Adding markers to a map can help users identify specific locations and provide additional context. In this article, we’ll discuss how to add multiple markers on Google Map in Flutter.

Introduction to Google Maps in Flutter

To use Google Maps in Flutter, you’ll need to add the googlemapsflutter package to your project. This package provides a widget that displays a Google Map, allowing you to customize the map with markers, polylines, and other features.

Setting Up the Google Maps Package

To get started, you’ll need to add the googlemapsflutter package to your pubspec.yaml file. Then, import the package in your Dart file and create a GoogleMap widget.

Adding Multiple Markers to the Map

To add multiple markers to the map, you’ll need to create a list of Marker objects. Each Marker object represents a single marker on the map, and you can customize its position, icon, and other properties. Here’s an example of how to add multiple markers to a Google Map in Flutter:

“`dart

import ‘package:googlemapsflutter/googlemapsflutter.dart’;

class MyApp extends StatefulWidget {

@override

MyAppState createState() => MyAppState();

}

class _MyAppState extends State {

List _markers = [];

@override

void initState() {

super.initState();

_markers.add(

Marker(

markerId: MarkerId(‘marker1’),

position: LatLng(37.7749, -122.4194),

infoWindow: InfoWindow(title: ‘Marker 1’),

),

);

_markers.add(

Marker(

markerId: MarkerId(‘marker2’),

position: LatLng(37.7859, -122.4364),

infoWindow: InfoWindow(title: ‘Marker 2’),

),

);

}

@override

Widget build(BuildContext context) {

return GoogleMap(

mapType: MapType.normal,

initialCameraPosition: CameraPosition(

target: LatLng(37.7749, -122.4194),

zoom: 12,

),

markers: Set.of(_markers),

);

}

}

“`

Customizing Marker Appearance

You can customize the appearance of markers by using the icon property of the Marker object. This allows you to display a custom image or icon on the map instead of the default marker.

Handling Marker Taps

To handle marker taps, you can use the onTap property of the Marker object. This allows you to perform an action when a marker is tapped, such as displaying an info window or navigating to a new screen.

Conclusion

Adding multiple markers to a Google Map in Flutter is a straightforward process that requires creating a list of Marker objects and passing it to the GoogleMap widget. By customizing the appearance and behavior of markers, you can create a rich and interactive mapping experience for your users.

Frequently Asked Questions

1. How do I get an API key for Google Maps in Flutter?: To get an API key, you’ll need to create a project in the Google Cloud Console and enable the Google Maps Android API and Google Maps iOS API.

2. Can I use Google Maps in Flutter for free?: The Google Maps API has usage limits and requires a billing account to use. However, you can use the API for free for a limited number of requests per day.

3. How do I handle marker clustering in Flutter?: Marker clustering is not supported out of the box by the googlemapsflutter package. However, you can implement clustering manually by grouping markers into clusters based on their proximity to each other.

4. Can I use custom icons for markers in Flutter?: Yes, you can use custom icons for markers by setting the icon property of the Marker object.

5. How do I handle map zoom and pan gestures in Flutter?: The GoogleMap widget in Flutter handles map zoom and pan gestures automatically. However, you can customize the behavior of these gestures by using the onCameraMove and onCameraIdle properties of the widget.

Leave a Comment

Scroll to Top