google-maps - 删除 google_maps_flutter 中的标记
问题描述
我已经为 Flutter 添加了谷歌地图 我知道如何添加一个标记,因为它在示例中明确给出
MarkerOptions _options = new MarkerOptions(
position: LatLng(
driver_lat,
driver_lng,
),
infoWindowText:
const InfoWindowText('An interesting location', '*'));
Marker marker = new Marker('1', _options);
//Adding Marker
googleMapController.addMarker(_options);
我正在删除如下标记
googleMapController.removeMarker(marker);
对于添加标记,它将 MarkerOptions 对象作为参数,但对于删除标记,它要求 Marker 对象作为参数,并且我的删除标记代码不起作用。我收到以下错误
Failed assertion: line 201 pos 12: '_markers[marker._id] == marker': is not true.
解决方案
2020年答案:
.clearMarkers() 已被弃用,因为现在每个标记都是存储在地图中的小部件。现在清除谷歌地图上所有标记的正确方法是将标记地图的状态设置为空地图。
例如
...
onPressed: () {
setState(() {
gMapMarkers = {};
});
}
....
推荐阅读
- javascript - 删除复制对象内的对象的键也会删除现有对象
- java - 为什么我得到一个数组越界异常/没有密码的控制台输出?
- php - 在 Codeigniter 项目中使用 coinbase/coinbase php 库时出现 Guzzlehttp 错误
- r - 控制R中ggplot2中多个geom_line的颜色
- c# - 在 Unity 中将游戏内数据导出到 csv
- c# - Xamarin Android 模拟器失败。视觉工作室 2019
- python-3.x - 与不同的日期字段相比,如何选择所有最近的日期?
- sql - PostgresSQL:使用 FILTER 函数根据时间间隔过滤行
- android - 如何在 Android 上获取从 Cloud Functions 返回的数据
- python - ModuleNotFoundError:没有名为“graphene_django”的模块