I found that the built-in AM clustering truly sucks, so I wrote my own. It's not perfect, but delivers a much better experience than the native one.
Try to get Google Maps or Apple Maps running on a phone with more than 200 Markers/Annotations, then come back to me with that. Their performance is fucking dreadful. Google Maps released a new renderer that just OOMs if you're rendering a Polyline with 5k segments. Decimate it or face consequences.
As far as I know, MapBox is about the only one that has tolerable performance. Anyone else doing heavy work and using the gmaps SDK is figuring out tricks: overlay rendering (drawing on a canvas above the map, which requires expensive RPC calls to get visible bounds / map projection which makes performance shit if you're not careful and always lags a frame behind), intense caching of marker descriptors, careful management of markers (dropping 200 Markers from scrolling the map + adding 200? Enjoy your main thread work that freezes the map), etc, etc.
First party map tools are absolute dog shit.
The default heatmaps for these maps are bad. Heatmaps should use filled contours so the gradations are more easily identified. (Continuous raster maps are blobby.) See the ascii glyph map in this post, https://andrewpwheeler.com/2015/06/12/favorite-maps-and-grap.... I think those should be static for various levels of zooms as well, and not recalibrated when zooming.
Another option (not shown here) is to just use polygons and aggregations, and when zoomed in can turn on that point layer (or just have it appear). Or can just make actual clusters (like DBSCAN).
I have a map I made on my website that shows these (with various interaction tooltips/hover), https://crimede-coder.com/graphs/DurhamHotspots (hotspots of crime in Durham, NC). And an explanation of the cartographic decisions and when to use the different techniques, https://www.youtube.com/watch?v=mBm6sTR08BI
phillipseamore•4d ago
paganel•1h ago
jamessb•1h ago
mkj•1h ago
RicoElectrico•54m ago
Lukas_Skywalker•33m ago