-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
При большом количестве ререндере точек - удаление/добавление на каждой итерации, в некоторых случаях в MapObject userData = null
PS: Временное решение перенести хранение данных о точке в Map
final userDataObjects = Map<String, Object?>;
final mapkit.MapObjectTapListener mapObjectTapListener =
MapObjectTapListenerImpl(onMapObjectTapListener: (mapObj, _) async {
if (mapObj is mapkit.PlacemarkMapObject) {
final userData = _placemarkManager.userDataObjects[
"${mapObj.geometry.latitude}-${mapObj.geometry.longitude}"];
}
});
/// codes...
placemark
..geometry = mapkit.Point(latitude: point.lat, longitude: point.lon)
..setIconWithStyle(_placemarkImageProvider[providerKey]!,
const mapkit.IconStyle(scale: 1.5))
..addTapListener(mapObjectTapListener)
// Работает не всегда
..userData = {
"asset": providerKey,
"guid": point.guid,
};
// Переносим хранение точек в Map
userDataObjects["${point.lat}-${point.lon}"] = {
"asset": providerKey,
"guid": point.guid,
};
Metadata
Metadata
Assignees
Labels
No labels