2gis / mobile-sdk-ios-demo

BSD 2-Clause "Simplified" License
13 stars 5 forks source link

SimpleClusterObject не меняет иконку #202

Closed yadik64 closed 10 months ago

yadik64 commented 11 months ago
                     for position in clusterPositions {
                        let objects = childCollection?.clusteringObjects(position: position)

                        for object in objects ?? [] {
                            if let cluster = object as? SimpleClusterObject,
                               let annotation = (cluster.objects.last?.userData as? ChildAnnotation)  {

                                let uiImage = await YClusterAnnotationView(image: annotation.image,
                                                                     count: Int(cluster.objectCount))
                                    .snapshot()
                                let icon = view.imageFactory.make(image: uiImage)
                                print(cluster.userData)
                                cluster.setIcon(icon: icon)
                            }
                        }
                    }

В методе print я вижу правильный ID который сохранил при создании кластера. Но иконка у кластера не меняется. Пробовал разные варианты, но изменить иконку не выходит.

maxal9999 commented 11 months ago

Вот есть пример кода, где установка иконки работает. https://github.com/2gis/mobile-sdk-ios-demo/blob/master/app/Views/DemoPages/Clustering/ClusteringDemoViewModel.swift#L178-L185

Если все еще есть ошибка, то создайте ветку от нашего демоаппа с вашим примером - посмотрим.

yadik64 commented 11 months ago

Вот есть пример кода, где установка иконки работает. https://github.com/2gis/mobile-sdk-ios-demo/blob/master/app/Views/DemoPages/Clustering/ClusteringDemoViewModel.swift#L178-L185

Если все еще есть ошибка, то создайте ветку от нашего демоаппа с вашим примером - посмотрим.

В вашем примере заменив эту строчку https://github.com/2gis/mobile-sdk-ios-demo/blob/63003ae6021c66f82ae0e594cb6a0b613ec73f19/app/Views/DemoPages/Clustering/ClusteringDemoViewModel.swift#L261C1-L261C1 на

cluster.setIcon(icon: self.moscow)

Мы получим поведение как на видео. При первом выборе кластера другие видимые кластеры не меняют иконку, но если выбор повторить все начинает работать. С установкой прозрачности такой проблемы нет.

https://github.com/2gis/mobile-sdk-ios-demo/assets/45825824/6ea8b4d2-b6e3-439e-9d81-ddd8cac72a66

maxal9999 commented 11 months ago

Да, ошибку локально воспроизвел. Спасибо за обращение. Взяли в работу, в 7.4.0 будет исправлена.

yadik64 commented 11 months ago

А когда ориентировочно ждать версию 7.4.0?

maxal9999 commented 11 months ago

Через недели 2.

yarovoyDeveloper commented 10 months ago

Через недели 2.

Еще ожидается версия 7.4.0 с этим исправлением?

maxal9999 commented 10 months ago

7.4.0 вышла, да. Все исправлено.