Комментарии 13
Года два назад работал с яндекс картами на флаттере, неприятно мелькал красный фон при загрузке виджета. Не удалось это исправить. Это до сих пор сохранилось?
За полгода активной работы с Яндекс картами на Flutter еще ни разу не столкнулась с такой проблемой.
Попробуйте поработать с новой версией плагина. Если баг снова воспроизведется, можно оставить issue разработчикам https://github.com/Unact/yandex_mapkit/issues.
Очень похоже на стандартный ErrorWidget)
Для React Native планируется кит?
Уже есть библиотека https://github.com/volga-volga/react-native-yamap
У вас есть один момент который не описан. А именно как изменять точки, к примеру мне может быть надо отображать только определенные объекты на карте. После замены коллекции надо вызывать setState. При этом setState в zoom вообще не понятно зачем нужно, потому что zoom работает отлично и без setState
Согласна с вами, при переопределении _mapZoom в onCameraPositionChanged вызов setState лишний :)
И вы правы, если вам нужно изменить список маркеров на карте, после смены коллекции нужно вызвать setState.
Если вам не нравится подобный подход, можно использовать Bloc. Сохраняйте список объектов карты в стейте, оборачивайте виджет карты в BlocBuilder и передавайте маркеры напрямую из стейта. Как показывает практика, так тоже все стабильно работает.
Тоже имею пет-проект на Flutter, где используются карты. За три с лишним года перебран несколько плагинов, в итоге сейчас остановился на наиболее популярном flutter_map. Делать кластеры я там не пробовал, но вот скрывать/отображать часть маркеров из списка - это там реализовать оказалось приятно легко.
Когда добавлял в свой проект на флатере яндекс карты, столкнулся с проблемой что иконки маркеров из асетов отображаются в уменьшенном размере. У вас в коде видимо для фикса такого поведения используется scale: 2. Разбирались ли в чем проблема и как правильно ее решать?
Наверняка не знаю, могу только предположить, что размер маркера адаптируется под размер карты при нулевом зуме.
В реальных проектах лучше не задавать хардкорный scale, как это сделано в примере. В таком случае маркеры могут некорректно отображаться на очень маленьких и очень больших экранах.
Как вариант, можно расчитывать scale относительно devicePixelRatio, тогда размеры маркера будут автоматически подстраиваться под текущий размер устройства.
И не забудьте про скалирование в самих папках. x1, x2, x3
Flutter Yandex Mapkit: как внедрить основные инструменты Яндекс Карт в проект на Flutter. Часть 1