-
Notifications
You must be signed in to change notification settings - Fork 356
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Voting: Map Marker Clustering #123
Comments
Goog idea! |
this is a good place to start http://silverlightfoundry.blogspot.co.uk/2009/07/bing-maps-silverlight-control-part-5.html |
I stabled upon that repo, maybe that can help a bit with te Android side |
Someone found a way to integrate it? I can't find a way to translate Pin into POIItem. |
Okay, I'm working on a port to the clustering feature. I'll post it soon :). |
I found some repos.
But these are "Binding" projects. |
@amay077 yes, I mean a complete port to the clustering feature from Xamarin iOS and Xamarin Android to Xamarin Forms. This port is based on a fork of this project and its API, obviously. |
The original sources are here:
Thanks @YahavGB, |
@amay077 as promised, I've implemented a unified API for clustering (a basic one, though). Please check my forked repository and check it so I can submit a pull request - https://github.com/YahavGB/Xamarin.Forms.GoogleMaps. Sample code:
Note the usage of ClusteredPins instead of Pins. Using that approach one can mix between standard pins (which won't be clustered) and clustered pins. For advance options, see ClusterOptions.cs. Hope it'll help 👍 ! |
Why don't incorporate that resource on the Xamarin.Forms.GoogleMaps package? |
@mpghelli The clustering feature has been implemented as a fork of this repository. When it'll get general approval I'll submit it as a pull request. |
I have a plan to contains Marker clustering in Xamarin.Forms.GoogleMaps. |
Is there anyway to get forked repository by nuget? Im getting problems to compile Android project. Lacks Xamarin.Forms.GoogleMaps.Android.Utils reference. |
No, but I can upload the compiled dlls in case you'd like :)
ב-28 באפר׳ 2017, בשעה 14:09, mpghelli <[email protected]> כתב/ה:
… Is there anyway to get forked repository by nuget? Im getting problems to compile Android and IOS project
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Yes. I Would like. I will be thankfull if you can do that. :) |
I did it compile and generated the Dlls. I've Added Xamarin.Forms.GoogleMaps dll reference on portable class library and Xamarin.Forms.GoogleMaps.Android too on Android project, but when i compile my project it throw some exceptions. Seems it lacks some packages of Android SDK itself: Severity Code Description Project File Line Suppression State Seems im using the same android librarys that example project. |
@mpghelli I've uploaded the libraries to my Drive, you can grab them here: https://drive.google.com/drive/folders/0B02ufEMX6wJ7WmxFMHh2bHFXdUE?usp=sharing How to integrate the libraries: The shared project Android
iOS
|
@mpghelli It seems like it doesn't appear on the iOS image, but just to clarify, in the iOS project you should reference GoogleMapsUtils.iOS.dll. |
Thank you very much. I will try that and keep you informed. :) |
It Works!!! But i don't understand some behaviors. Some times it has just 5 pins, but group in a circle wrote with 10+. Is that the correct behavior? Another question is if is possible to group the Pins with the same Icone first? Thanks Again. |
Hi!
I'm glad that it works :).
Regarding the first question, it sounds incorrect. I did used buckets, so
it should group pins into groups (I don't remember the groups, you can find
them, and change them, in ClusterOptions.cs in the shared project), however
the described behavior sounds wrong.
Can you give me more details? Can you show me the code and tell in which
platform it occurs?
Regarding the second question, to the best of my knowledge the default
implementation doesn't do that and therefore we don't have that feature.
However, I wonder, maybe we can implement that manually by using multiple
cluster managers.
You welcome :).
…On Fri, Apr 28, 2017 at 7:28 PM, mpghelli ***@***.***> wrote:
It Works!!!
But i don't understand some behaviors. Some times it has just 5 pins, but
group in a circle wrote with 10+. Is that the correct behavior?
Another question is if is possible to group the Pins with the same Icone
first?
Thanks Again.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#123 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABTa3xz69wUvaCcjROQc9wJYWsbWNa8kks5r0hPFgaJpZM4K73Fk>
.
|
I have a collection that i `
` Like i said, it groups less then 10 itens in a 10+ grouped pin, but when i clicked in that grouped pin it show the correct number of pins grouped inside. Thank You |
The CameraChanged event stoped worked using this dll version too. Maybe it was overriden inside the dll to make the grouping? Thanks |
👍 |
1 similar comment
👍 |
@mierzynskim, looks like we are running into a gref limit in android. |
@mierzynskim Sorry I'm quite new to this. If I fork from your solution on visual studio, how can I create DLL files for Android and iOS? I know for the shared project I can make the solution as a nuget package. Otherwise if you can send me the precompiled DLLs that would be great. I can then test and let you know if there is a significant performance upgrade |
why dll when u have nuget https://www.nuget.org/packages/Xamarin.Forms.GoogleMaps/ |
@leemarthers Yeah, I think there's nothing more we can do with it 😞. For those of you who struggles with huge amount of markers here's a possible solution.. I haven't got time to test it myself but limiting amount of markers to a visible region seems to be good idea. @amay077 I'd love to hear your thoughts about implementing the extension. I'm not sure what structure you expect but I offer my help to implement it. |
@chrisgate The nuget doesn't include clustering. |
@mierzynskim can you pls share latest compiled dlls for both Android and iOS as Android Utils is not building in my system... Thanks.. |
Hey @mierzynskim ! I've been trying to check your clustering example but I'm not able to. There is an error in Xamarin.Forms.GoogleMaps.Android\Logics\ClusterLogic.cs. In this line: I get the error:
Any idea about what could be happening? Thanks!! |
@mierzynskim I just noticed another issue in testing in android. Each pin is being counted as two or three when clustered. I have 37 pins but I am getting a bucket of 50+ and a bucket of 10+. When I zoom in I can see a bucket of 6 break into 2 pins. Any thoughts? |
Latest Xamarin.Forms.GoogleMaps package not providing clustering feature in Xamarin forms. |
I'm not update data pin marker when use ClursterPin. How to fix it? |
How to cluster less then 5 pins? If I change ClusterItemsCount to 3 in ClusterPage.xaml.cs (in XFGoogleMapSample) it does not cluster at all. Can you cluster less then 5 pins? edit: answer is: set MinClusterSize in XamarinClusterRenderer.cs (Xamarin.Forms.GoogleMaps.Android.Logics.Cluster.XamarinClusterRenderer) |
Bonjour , je souhaite faire sur ma map en c# en UWP regrouper mes icons lorsqu'ils sont tous au même en droit, cependant je n'ai trouver aucun code en c# qui me permet de m'aider a realiser cette tache |
hi @mierzynskim I'm trying the clustering fork you made, thanks for the work! I see the issue with the rendering time with a large amount of map object 10k+, but I think it will still be very useful in a lot of cases. I'm looking through the code now, it might take a while to understand, but if you want any assistance let me know. |
Any more work being done on this? I think it's evident it'd be quite useful. |
Hey! I finally had some time and created extension library for Xamarin.Forms.GoogleMaps https://github.com/mierzynskim/Xamarin.Forms.GoogleMaps.Clustering. It currently depends on my custom fork but I'm planning to create PR that introduces my changes to the core library and create a nuget package. So stayed tuned and I'd appreciate any feedback 😄 |
That is some great work! Thanks so much. |
and until there isn't official nuget package, you can find precompiled dlls here https://drive.google.com/open?id=1WamukWgSSR4NKdev2Wz-o2OuDePADsNy |
@mierzynskim Clustering is working fine, though now clicking on a pin shows the default InfoWindow again. The approach of setting "e.Pin.Label" and "e.Pin.Address" to null on the method treating the PinClicked event doesn't seem to work anymore. Any thoughts? |
@gabrielbunselmeyer I'm not sure if I got what you mean by that. Would you mind submitting an issue with more detailed explanation? Code samples would also be useful. |
@amay077 Are there any plans to integrate clustering to the GoogleMaps NuGet Package? |
@mierzynskim @gabrielbunselmeyer encountered the problem like I did today. If we do not set "Label" property of Pin. |
@mierzynskim Amazing, Thanks a lot! |
@mierzynskim I faced Icon Changing issue. Icon is not changing when we assign new icon when somebody clicks on pin.
I tried same with E.Pin as well with no luck then I tried to Find the Pin from ClusteredPins. Thank you, |
@NirmalSubedi17 Thanks for pointing it out. Since Clustering became standalone repo, please create an issue on https://github.com/mierzynskim/Xamarin.Forms.GoogleMaps.Clustering. Please also note that I'm not going to answer questions regarding issues in this thread anymore. |
I support @NirmalSubedi17 's Xamarin.Forms.GoogleMaps.Clustering. (#123 (comment)) I don't add marker clustering in Xamarin.Forms.GoogleMaps. |
@YahavGB is there a way to distinguish between binding to the clustered itemsource and the regular pins itemsource without overriding the Xamarin.Forms.GoogleMaps source code? |
If you want to this feature then post 👍 to below.
Suggestion
Implement google maps clustering utility for Android & iOS.
Android:
https://developers.google.com/maps/documentation/android-api/utility/marker-clustering
iOS:
https://developers.google.com/maps/documentation/ios-sdk/utility/marker-clustering
The text was updated successfully, but these errors were encountered: