Flutter Stuff

How to Move Markers Position on Google Map in Flutter

**Moving Markers on a Google Map in Flutter: A Step-by-Step Guide**

Hey there, fellow Flutter developers! Are you building a mobile app that requires displaying a Google map with markers? Do you want to know how to move those markers to a custom position? You’re in the right place! In this post, we’ll walk you through the process of moving markers on a Google map in Flutter.

**Getting Started**

Before we dive into the code, make sure you have the following dependencies installed in your Flutter project:

1. `google_maps_flutter` package: This package provides a Flutter widget that displays a Google map.
2. `google_maps_flutter_platform_interface` package: This package provides a platform-independent interface for Google Maps.

If you haven’t installed these packages yet, you can add them to your `pubspec.yaml` file by running the following command:

“`bash
flutter pub add google_maps_flutter
flutter pub add google_maps_flutter_platform_interface
“`

**Creating a Google Map Widget**

To create a Google map widget, you need to use the `GoogleMap` widget provided by the `google_maps_flutter` package. Here’s a simple example:

“`dart
import ‘package:flutter/material.dart’;
import ‘package:google_maps_flutter/google_map.dart’;

class MapWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GoogleMap(
initialCameraPosition: CameraPosition(
target: LatLng(37.7749, -122.4194),
zoom: 11.0,
),
);
}
}
“`

In this example, we’re creating a `MapWidget` that displays a Google map with an initial camera position set to San Francisco.

**Moving Markers**

To move a marker on the map, you can use the `Marker` widget provided by the `google_maps_flutter` package. Here’s an example:

“`dart
import ‘package:flutter/material.dart’;
import ‘package:google_maps_flutter/google_map.dart’;

class MapWidget extends StatefulWidget {
@override
_MapWidgetState createState() => _MapWidgetState();
}

class _MapWidgetState extends State {
GoogleMapController _mapController;
LatLng _markerPosition = LatLng(37.7749, -122.4194);

@override
Widget build(BuildContext context) {
return GoogleMap(
initialCameraPosition: CameraPosition(
target: _markerPosition,
zoom: 11.0,
),
onMapCreated: (GoogleMapController controller) {
_mapController = controller;
},
markers: Set.of([
Marker(
markerId: MarkerId(‘marker’),
position: _markerPosition,
infoWindow: InfoWindow(
title: ‘Marker Title’,
snippet: ‘Marker Snippet’,
),
),
]),
);
}

void _moveMarker() {
// Update the marker position
setState(() {
_markerPosition = LatLng(37.7859, -122.4364);
});

// Move the marker to the new position
_mapController.animateCamera(
CameraUpdate.newCameraPosition(
CameraPosition(target: _markerPosition, zoom: 11.0),
),
);
}
}
“`

In this example, we’re creating a `MapWidget` that displays a Google map with a single marker. We’re also defining a `_moveMarker` function that updates the marker position and moves the marker to the new position.

**Conclusion**

In this post, we’ve learned how to move markers on a Google map in Flutter. We’ve created a Google map widget and a marker widget, and we’ve learned how to update the marker position and move it to a custom location. With this knowledge, you can now build a Google map-based app with customizable markers.

I hope you enjoyed this post. If you have any questions or comments, feel free to leave them below. Happy coding!

Leave a Comment

Scroll to Top