如何解决flutter_map:如何激活标记
我的任务是让用户在地图上构建一个多边形。我使用 flutter_map 库和 openstreetmaps。我不知道如何完成多边形的构建。
现在,在第一个 onTap
时,地图上会出现一个 IconButton
。我想让这个 IconButton
处于活动状态,以便当用户 onPress
在它上面时:(1)图标更改,(2)返回(并保存以传递给后端)一组点用户在多边形构建过程中点击,并且 (3) 多边形构建过程停止(添加新点变得不可能)。
我认为,挑战归结为如何在另一个 setState
内部回调 setState
同时保留功能。但也许还有另一种解决方案。
我的代码如下。如果需要,我可以提供完整的代码。
如果有任何想法,我将不胜感激。
class _HomePageState extends State<HomePage> {
...
List<Marker> markers = [];
List<LatLng> polygonList = [];
bool singleTap = false;
...
options: MapOptions(
...
onTap: (latlng) {
if (singleTap) {
setState(() {
if (markers.length == 0) {
markers.add(
Marker(
point: latlng,builder: (ctx) => IconButton(
icon: Icon(Icons.favorite),onPressed: () {***HERE the process should be stopped with changing the icon,no new points;***
setState(() {});
},),);
} else {
markers.add(
Marker(...),);
}
polygonList.add(latlng);
});
}
}),
解决方法
答案很简单:没什么特别的,只要记住“其他层可能会拦截手势”。我刚刚更改了图层的顺序,现在我的 Marker 处于活动状态。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。