Во Flutter есть способ переключать видимость маркеров на картах Google?
Свойства маркеров установлены на окончательные, поэтому не могут быть изменены. Не существует метода установки для изменения их значений без попытки повторного создания всех маркеров.
У меня есть три следующие:
markers.update(_markerId, (Marker m) {
print(m.markerId);
return Marker(markerId: MarkerId("2"), infoWindow: InfoWindow(title: "Test"));
});
Приведенный выше код просто скрывает последний маркер и ничего больше
0 ответов
Вы пока не можете изменить свойства существующего объекта-маркера, потому что они объявлены как окончательные.
Что вы можете сделать, так это создать копию этого объекта маркера в другом маркере, а затем изменить свойство и заменить его. что-то вроде этого.
final Marker marker = markers[selectedMarker];
setState(() {
markers[selectedMarker] = marker.copyWith(
visibleParam: !marker.visible,
);
});
Кредиты: фрагмент кода взят из официального примера плагина Google Map Flutter.
Больше примеров здесь https://github.com/flutter/plugins/tree/master/packages/google_maps_flutter/example/lib