我正在尝试找到一种解决方案,以便在点击标记时更改标记图标,以提供视觉反馈。不过,我还没有弄清楚如何做到这一点。首先想到的是按索引访问标记,但是由于标记是按Set<Markers>
排列的,因此以正确的方式访问标记没有改变。那么很容易用新标记替换旧标记。有一种通用的方法吗?
编辑:
使用Java,有类似的选项。 setIcon
用于标记。这不是Flutter的追求。
像这样:
marker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.ic_selected_user_mark_icon));
快乐编码:)
答案 0 :(得分:0)
我有同样的问题。 Google Maps API没有此选项。我手动解决了。
您可以创建标记,并在标记的onTap和GoogleMap的onTap属性中更改图标标记。
int markerFlag = null;
List<Marker> _allMarkers = [];
标记的onTap:
onTap: () {
if (markerFlag != idMarker) {
setState(() {
if (markerFlag != null) {
_allMarkers[markerFlag] = _allMarkers[markerFlag].copyWith(iconParam: defaultMarkerIcon);
}
_allMarkers[idMarker] = _allMarkers[idMarker].copyWith(iconParam: selectedMarkerIcon);
markerFlag = idMarker;
});
}
}
GoogleMap的onTap:
onTap: (value){
if (markerFlag != null) {
setState(() {
_allMarkers[markerFlag] = _allMarkers[markerFlag].copyWith(iconParam: defaultMarkerIcon);
markerFlag = null;
});
}
}