Взаємодія підприємств-олігополістів на ринку мобільного зв’язку (Грушка М.)
Тисячі позначок на карті мобільного додатку....
-
Upload
studio-stfalconcom -
Category
Software
-
view
73 -
download
1
Transcript of Тисячі позначок на карті мобільного додатку....
![Page 1: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/1.jpg)
Тисячі об'єктів на карті мобільного додатку.
Кластеризація в iOS.
![Page 2: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/2.jpg)
![Page 3: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/3.jpg)
Навіщо воно мені здалось??
![Page 4: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/4.jpg)
Задача
• Анімована кластеризація об'єктів на карті додатку
![Page 5: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/5.jpg)
Задача
• Анімована кластеризація об'єктів на карті додатку
• Реалізація кластеризації з підтримкою GooglMapsSDK.
![Page 6: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/6.jpg)
Існуючі рішення в iOS
• Superpin - швидкий і платний, без анімації
• Kingpin - безкоштовний, з підтримкою анімації, але повільний і трохи глючний
• DTClusterMaker - також платний
Основна проблема: відсутність підтримки GoogleMapsSDK
![Page 7: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/7.jpg)
Методи кластеризації
• Метод k-середніх (групування по мінімальному сумарному квадратичному відхиленню від центру кластеру)
• Групування по сітці (розбиття видимої області на регіони, формування кластерів з їх вмісту)
![Page 8: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/8.jpg)
Метод k-середніх
![Page 9: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/9.jpg)
Метод k-середніх
• На практиці повільний
• Складність виконання анімації, маркерів
![Page 10: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/10.jpg)
Кластериація за допомогою групування
об'єктів по сітці
• Формування нових кластерів при переміщенні карти.
• Анімація кластерів
• Видалення старих кластерів
![Page 11: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/11.jpg)
Визначення розміру видимої області
![Page 12: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/12.jpg)
Пошук лівого нижнього кута
![Page 13: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/13.jpg)
Побудова кластерів
![Page 14: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/14.jpg)
Дуже повільно...
![Page 15: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/15.jpg)
Трошки оптимізовуєм
![Page 16: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/16.jpg)
Знову створюєм кластери
![Page 17: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/17.jpg)
Вже швидше!
![Page 18: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/18.jpg)
А якщо ще більше об'єктів?!
![Page 19: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/19.jpg)
Квадратичне дерево
![Page 20: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/20.jpg)
Квадратичне дерево
![Page 21: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/21.jpg)
Квадратичне дерево
• Набагато швидший процес формування кластерів при навігації
• Потрібно більше часу на початку для побудови дерева
![Page 22: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/22.jpg)
Анімація маркерів
![Page 23: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/23.jpg)
Новий кластер є частиною старого
кластера
![Page 24: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/24.jpg)
Старий кластер є частиною нового
кластера
![Page 25: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/25.jpg)
Дякую за увагу!
Запитання?
![Page 26: Тисячі позначок на карті мобільного додатку. Кластеризація в iOS.](https://reader030.fdocument.pub/reader030/viewer/2022032502/55b943ffbb61eb4d6f8b45f0/html5/thumbnails/26.jpg)
• https://github.com/utiko/ClusterTest