meshtastic / Meshtastic-Android

Android application for Meshtastic
https://meshtastic.org
GNU General Public License v3.0
751 stars 217 forks source link

Implement marker clustering #1287

Closed danwelch3 closed 1 month ago

danwelch3 commented 1 month ago

Implements M Kergall's osmbonuspack Marker Clustering feature.

I was not able to implement the library as a dependency, as I could not customize the markers to match the markers currently used. I put the relevant parts of the library in with modifications to the markers.

image

jamesarich commented 1 month ago

I'm unsure how copying code directly from other projects needs to be attributed, but it does look like the license is pretty liberal.

danwelch3 commented 1 month ago

Agreed. I would prefer to link directly to the library if possible, so any suggestions on using the markers from com.geeksville.mesh.model.map.MarkerWithLabel instead of the default OSMDroid markers would be appreciated.

Its my impression that in terms of license, this is not a problem. The osmbonuspack library is licensed under LGPLv3 which should be compatible with GPLv3. See GNU's license matrix here.

image

danwelch3 commented 1 month ago

Moved map.overlays.add(nodeClusterer) to MapView.drawOverlays().

I left the nodeClusterer definition where it was, otherwise it would break the UpdateMarkers() call.

DonRichie commented 1 month ago

This change reduced the usability of my map. I can't see when I had contact with the nodes without zooming in. If you insist on the feature, please add a button to turn it off.

danwelch3 commented 1 month ago

I'll look into adding a toggle. The clustering shouldn't go into effect until nodes are overlapping visually though. There might be some tuning of the cluster settings that needs done as well. Can you attach screenshots of the same nodes with and without this feature showing the problem you're having?

andrekir commented 1 month ago

there is no need for a toggle. the clustering was fine tuned in app version 2.5.1, please update.

DonRichie commented 1 month ago

In the current version of the app I have no complains anymore. I can see everything I want properly without zooming. Thank you for fixing. No need for a switch anymore from my side.

The only thing I'm still wondering is what the big green circle means, which appears on the map.