在Flutter中删除Google地图中的特定标记,可以通过以下步骤实现:
以下是一个示例代码,演示如何在Flutter中删除Google地图中的特定标记:
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
class MapScreen extends StatefulWidget {
@override
_MapScreenState createState() => _MapScreenState();
}
class _MapScreenState extends State<MapScreen> {
GoogleMapController mapController;
List<Marker> markers = [];
void _onMapCreated(GoogleMapController controller) {
mapController = controller;
}
void _addMarker(LatLng position) {
final marker = Marker(
markerId: MarkerId(position.toString()),
position: position,
);
markers.add(marker);
mapController.addMarker(marker);
}
void _removeMarker(Marker marker) {
markers.remove(marker);
mapController.removeMarker(marker.markerId);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Google Map'),
),
body: GoogleMap(
onMapCreated: _onMapCreated,
initialCameraPosition: CameraPosition(
target: LatLng(37.42796133580664, -122.085749655962),
zoom: 10,
),
markers: Set<Marker>.from(markers),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
// 添加一个新标记
_addMarker(LatLng(37.43296265331129, -122.08832357078792));
},
child: Icon(Icons.add),
),
);
}
}
在上面的示例中,我们创建了一个MapScreen小部件,其中包含一个Google地图和一个浮动操作按钮。通过点击浮动操作按钮,可以在地图上添加一个新的标记。要删除特定的标记,可以调用_removeMarker方法,并传递要删除的标记对象。
请注意,这只是一个简单的示例,实际应用中可能需要更复杂的逻辑来管理标记和与地图交互的其他功能。
领取专属 10元无门槛券
手把手带您无忧上云