我对Flutter还是个新手。这真是太神奇了。我正在开发谷歌地图的小应用程序usign。我有6个点(标记),需要识别哪个被选中。我已经将ontap事件添加到每个带有i-index (i = 0..5)的标记中。当我点击/点击标记时,我总是得到6。根据标记,它应该是0..5。
谢谢你,加布里埃尔
i=0;
marker.clear();
for (myPoint mar in globals.historia.items) {
print(i.toString());
marker.add(Marker(
markerId: MarkerId(i.toString()),
position: mar.pos,
draggable: false,
consumeTapEvents: true,
onTap: () {
print("Marker_id-${i.toString()}");
},
));
i++;
}GoogleMap( onMapCreated:_onMapCreated,initialCameraPosition: CameraPosition(目标: myposition,缩放: 17.0,),折线:道路,标记:Set.of(标记),
)发布于 2020-06-16 03:52:09
我提出了这个解决方案-将onTap中的方法替换为以下内容:print("Marker_id-${globals.historia.items.indexOf(mar)}")
mar是for in循环中的一个局部变量,它的值永远不会改变,所以他会指向相同的值,onTap就会像你想要的那样工作。
https://stackoverflow.com/questions/62395094
复制相似问题