-
Notifications
You must be signed in to change notification settings - Fork 1.3k
point clustering #320
Comments
Any status on Marker clustering in iOS? |
I'm interested in annotation clustering on iOS as well 👍 . Any idea when something like this will be released? |
Nothing on the radar right now for clustering, but stay tuned for annotations improvements in the medium-term. In short, we are thinking more about potential aspects of annotations that are unique to Mapbox GL and not necessarily derivative of what's been done with maps frameworks before. |
Clustering it's very important feature as for me. I hope it will be added soon. |
Dear Developers, i need you advice :) |
Clustering is not on a current timeline for 2015. Stuff needs to happen under the hood in what we’re calling the runtime style API first (see #837). /cc @jfirebaugh |
@incanus Okay, can i use old SDK version and buy standard or premium plan? |
@Sh1mor1nka - happy to figure out which plan is correct for you while you're waiting for clustering via the GL SDKs. Want to shoot a note to [email protected] with this ticket number included for reference? |
@pdgoodman i don't have much time, may be two weeks, maybe thee, but not more, and as your developer says: "Clustering is not on a current timeline for 2015". All i can is to use old SDK, but i don't know if i can do tbis, maybe it's not supported by current API version, so i'm waiting for developer answer. |
Clustering is done client-side and is indeed still active in the iOS SDK 1.x (which is not based on Mapbox GL or OpenGL). So you should be fine to go there. You’ll want to look at the clustering-related properties on RMMapView. |
@incanus Sorry, but can you share reference where i can download latest SDK 1.x version? UPD: Okay, i find it https://github.com/mapbox/mapbox-ios-sdk-legacy |
👉 https://github.com/mapbox/mapbox-ios-sdk-legacy It's also available in CocoaPods as |
Hi guys. Is there an expected solution to the whole no-clustering issue on iOS? |
I would also love to see clustering on ios/android sdk |
Now that JS SDK has gotten clustering support #1931 what needs to happen to get similar on this? |
I'd expect this to come in a few weeks. I'm working on porting https://github.com/mapbox/supercluster, which is relatively small, to C++11. Integration into gl-native then should be pretty easy. |
Sounds great @mourner! I've gone ahead an tried implementing clustering using quad tree using FBAnnotationClustering converting it to support mapbox instead. But I get stuck on how to get zoom scale and width of visible view from mapbox similar to this double scale = self.mapView.bounds.size.width / self.mapView.visibleMapRect.size.width; and converting this to support mapbox constants NSInteger FBZoomScaleToZoomLevel(MKZoomScale scale)
{
double totalTilesAtMaxZoom = MKMapSizeWorld.width / 256.0;
NSInteger zoomLevelAtMaxZoom = log2(totalTilesAtMaxZoom);
NSInteger zoomLevel = MAX(0, zoomLevelAtMaxZoom + floor(log2f(scale) + 0.5));
return zoomLevel;
} But implementing clustering using r tree is the way to go, have you any ideas where I can find a r tree library for objective-c? Can then look into converting supercluster to objective-c. |
Maybe start porting your wonderful rbush is a good start. |
@maqen I don't know since I focus on JS development, but the coming implementation in gl-native will most likely use boost:rtree. We're still eager to try porting rbush someday and seeing how it compares. In addition, I'm doing some experiments on a different index instead of an R-tree, optimized for clustering and based on lexicographic array sorting in a grid + binary search. But it may take a while before I get results, although I'm certain it will be faster than R-Tree. |
any updates on the implementation of clustering ? |
@mourner Hows it going my friend? any news for us hopefuls? |
The work is still going. Related prerequisite issues to track are: |
Hey, please let us know even if it reaches the testing phase, I would like to test and help improve it as early as possible. So badly in need of clustering. |
Is this feature release close? |
Noting here that discussions of clustering will have to separately consider annotation view structure as well on each platform, if we are also going to allow clustering there. |
#5724 was just merged to master. Which means you will now be able to add clustered GeoJSON sources and style them like on the GL JS example here. |
To expand on @mourner’s much welcome update:
|
What about mapboxgl-js HTML markers and clustering?
|
That's a good question. However, since this is the Mapbox GL Native repository, please request that feature in the GL JS repository. Thanks! |
Just to give my 2 cents as I just switched my tile provider to Mapbox. But I'm still using osmdroid/osmbonuspack, mainly for markers clustering which is well implemented in it. For me, key features are:
|
Any updates on clustering markers (annotations) using the SDKs? |
@o15a3d4l11s2, please subscribe to #5814. That issue will be updated as soon as there’s progress to report. In the meantime, consider reimplementing your markers as a GeoJSON source styled with a symbol layer. GeoJSON sources can already be clustered, although you’ll have to implement interactivity manually. You may also want to keep track of #6181 and its dependent issues, which would hopefully eliminate that caveat. |
@2ndGAB, this should already be possible with the runtime styling API; see #320 (comment). We don’t have a live native example online yet, but refer to this GL JS example for now. Now how the
If this isn’t already supported for GeoJSON sources, please file a separate issue. The implementation may require some changes upstream in Supercluster.hpp and/or Supercluster.
Similarly, this would be a great enhancement to request in a separate issue. Additional comments on this closed issue are less likely to be read by the project’s developers, and therefore less likely to be prioritized. |
Any status on this? |
Is this a low priority feature? Seems to me that everyone putting more than 20 markers on a map needs this. |
To us it's a must have, and I'm surprised that anyone would consider this low priority. I guess there's other maplibs out there, but mapbox is usually soo good! |
This missing is the only reason why I still keep using Google Maps for my app |
@AAverin same here |
I subscribed to this thread 2 years ago when I was considering to use Mapbox in my projects... After so much time I'm happy that I didn't waste my time with this SDK and I decided to use Google Maps. It's pathetic how something so important like this is still not implemented. |
We decided to go with another map solution instead. Sad. |
To clarify, recent comments are asking about view-backed annotation clustering? Because per #320 (comment) we have had GL-backed clustering for some time now (API). I'll look into adding an example of the latter to our gallery. |
Re: addressing the core need of marker-backed clustering, the main holdup is #6181 and all of its associated dependency work. This would move the MapKit-like annotation model to be a thin implementation layer on top of Mapbox's unique GL-based runtime styling functionality (which you can't get in other toolkits). Per @1ec5 in that ticket:
We originally implemented annotations for parity with Apple and Google tools and because it's what people would expect, but where we've taken runtime styling and our open styling spec brings capabilities far beyond these. Developers no longer have to think about maps as just your own data on top of an opaque map, but rather can mix your data into the map in a much more immersive way. As a result of this a) early annotation parity for familiarity and b) the substantial backlog of things we need to do to bring the two APIs together, this has been taking a while. |
Our examples repo will be updated soon with a comprehensive runtime styling example that shows how to cluster and visualize GeoJSON data (GL-backed clustering). In the meantime, here is a gist that ports the GL JS heatmap example that uses clustering to iOS. |
Once we have #170 GeoJSON with arbitrary points complete, then we need to be able to cluster overlay points for parity with existing mobile APIs.
The text was updated successfully, but these errors were encountered: