8000 GitHub - maxssoft/WifiMapTest
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

maxssoft/WifiMapTest

Repository files navigation

WifiMapTest

Принцип работы В ресурсах apk лежит zip-архив с данными по точкам. При установке приложения он распаковывается и данные переносятся в базу данных (используется быстрая вставка данных пакетами через откомпилированную sql команду)

Когда сделал загрузку, вспомнил про более оптимальный способ: в ресурсы кладется уже готовый файл базы данных sqlite в виде архива и просто распаковвывается куда надо Но не стал переделывать, так как такой вариант быстрее, но не показательней с точки зрения кода

Реализован алгоритм кластеризации на основе SQL запроса по точкам. Берется область карты, разбивается на сегменты 10 х 10 и каждый сегмент обсчитывается SQL запросом select count(*), avg(latitude), avg(longitude)

Все запросы по сегментам объединяются в один SQL запрос через UNION и выполняются за один раз select count(), avg(latitude), avg(longitude) union all select count(), avg(latitude), avg(longitude) union all …. В целом это позволяет достаточно быстро получать кластеры и по существенно большему объему точек

Для сравнения сделал еще поддержку стандартного clusterManager от гугла. А потом сделал симбиоз, на большом масштабе, когда точек слишком много используется моя кластеризация на основе SQL, а на более мелких масштабах кластеризация гугла. Хотел еще сделать свой алгоритм как рендерер, но увы, не успеваю. Итак уже очень много времени потратил на задачу.

Пока отлажи 4D00 вал, столкнулся с неприятным багом в google maps. Если очищать маркеры карты при работе через кластеры, то приложение может падать. Причем это похоже не решаемо, так как вызов map.clear() не учитывается в кластере гугла и он пытается прописывать иконки не существующим маркерам (удаленным) Можно решить, если сделать свою кластеризацию как стандартный рендерер и тогда проблема одновременного отображения маркеров и кластеров уйдет.

В корне проекта лежит собранная WifiMapTest.apk, но можно собрать и самому, только надо будет поменять ключик в манифесте

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0