-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
[google_maps_flutter] Marker clustering support #4319
base: main
Are you sure you want to change the base?
[google_maps_flutter] Marker clustering support #4319
Conversation
b805eab
to
499b82b
Compare
@jokerttu Is this still something you are interested in working on? How can we help you? |
@jokerttu is this still something you're working on? |
Yes, I am scheduled to work on this issue next week and will update the PR accordingly in the near future. The recent architectural changes in the |
b44d05a
to
e052a4c
Compare
@stuartmorgan this is ready for review. We inspected the logs for the failing web platform tests and it seems to be reporting based on Android? |
Note: that the original PR was reviewed at plugins repository at flutter/plugins#6752 |
This is because there is a weird circular dependency in the tests where google_maps_flutter_web's example depends on google_maps, which then is depending on a non-overridden version of google_maps_flutter_android so things no longer match. Adding a dependency override for _android in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your patience on this; I've finished reviewing the platform interface, and since the overall structure was already reviewed in the previous PR you are good to split that out into the first prequel PR. I've left some comments that you can either address here before splitting, or just address in the new PR.
I should have the rest of the re-review done later today but I wanted to get this part out first so you could work on that in parallel.
...maps_flutter_platform_interface/lib/src/platform_interface/google_maps_flutter_platform.dart
Outdated
Show resolved
Hide resolved
...maps_flutter_platform_interface/lib/src/platform_interface/google_maps_flutter_platform.dart
Outdated
Show resolved
Hide resolved
packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/cluster.dart
Outdated
Show resolved
Hide resolved
packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/cluster.dart
Outdated
Show resolved
Hide resolved
packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/cluster.dart
Outdated
Show resolved
Hide resolved
...oogle_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/cluster_manager.dart
Outdated
Show resolved
Hide resolved
packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/cluster.dart
Outdated
Show resolved
Hide resolved
...maps_flutter_platform_interface/lib/src/platform_interface/google_maps_flutter_platform.dart
Outdated
Show resolved
Hide resolved
...maps_flutter_platform_interface/lib/src/platform_interface/google_maps_flutter_platform.dart
Outdated
Show resolved
Hide resolved
...oogle_maps_flutter/google_maps_flutter_platform_interface/lib/src/types/cluster_manager.dart
Outdated
Show resolved
Hide resolved
@ditman Looks like the original never got your review for web; if you could take a look here when you get a chance that would be great. |
packages/google_maps_flutter/google_maps_flutter/example/lib/clustering.dart
Outdated
Show resolved
Hide resolved
packages/google_maps_flutter/google_maps_flutter/example/lib/clustering.dart
Outdated
Show resolved
Hide resolved
packages/google_maps_flutter/google_maps_flutter/example/lib/clustering.dart
Outdated
Show resolved
Hide resolved
packages/google_maps_flutter/google_maps_flutter_ios/lib/src/google_maps_flutter_ios.dart
Outdated
Show resolved
Hide resolved
packages/google_maps_flutter/google_maps_flutter_ios/lib/src/utils/cluster_manager.dart
Outdated
Show resolved
Hide resolved
@@ -7,6 +7,7 @@ | |||
<title>Browser Tests</title> | |||
<!-- This API key comes from: go/flutter-maps-web-tests-api-key (GCP project: flutter-infra) --> | |||
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAa9cRBkhuxGq3Xw3HPz8SPwaVOhRmm7kk&libraries=geometry"></script> | |||
<script src="https://unpkg.com/@googlemaps/markerclusterer@2.5.0/dist/index.min.js"></script> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(If there's any change based on my comment on the app-facing package, we should make sure to make it here as well.)
packages/google_maps_flutter/google_maps_flutter_web/lib/src/marker_clustering.dart
Outdated
Show resolved
Hide resolved
packages/google_maps_flutter/google_maps_flutter_web/lib/src/marker_clustering.dart
Outdated
Show resolved
Hide resolved
Any progress updates on when we can expect this to come out? |
@jokerttu is this ready for another review? |
Not yet, most of the issues @stuartmorgan pointed out are fixed, but there are still few that are not yet done. |
The review comments were resolved in this PR before splitting so that the platform-specific implementations would not stretch too far in time after the platform interface update. Here is the first prequel PR for |
Was there anything other than web-specific questions? I looked back through the comments and didn't find any unresolved discussions with questions other than the web ones, but I may have missed something. |
Yes, checked and only web-specific discussions are still open. |
…terface (#6158) This PR introduces support for marker clustering This is prequel PR for: #4319 Containing only changes to `google_maps_flutter_platform_interface` package. Follow up PR:s will hold the platform and app-facing plugin implementations. Linked issue: flutter/flutter#26863
5083248
to
0dcab77
Compare
0dcab77
to
d012215
Compare
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact "@test-exemption-reviewer" in the #hackers channel in Chat (don't just cc them here, they won't see it! Use Discord!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
Converted to draft to avoid unnecessary reviews before the platform implementations are landed. |
…terface (flutter#6158) This PR introduces support for marker clustering This is prequel PR for: flutter#4319 Containing only changes to `google_maps_flutter_platform_interface` package. Follow up PR:s will hold the platform and app-facing plugin implementations. Linked issue: flutter/flutter#26863
d012215
to
0bd74d3
Compare
0bd74d3
to
04070f9
Compare
@jokerttu any updates on this 🥺 Really looking forward to it. Really appreciate you for taking this on! |
This PR introduces support for marker clustering for Android platform An example usage is available in the example application at `./packages/google_maps_flutter/google_maps_flutter_android/example` on the page `Manage clustering` This is prequel PR for: #4319 and sequel PR for: #6158 Containing only changes to `google_maps_flutter_android` package. Follow up PR will hold the app-facing plugin implementation. Linked issue: flutter/flutter#26863
This PR introduces support for marker clustering for Web platform This is prequel PR for: #4319 and sequel PR for: #6158 Containing only changes to `google_maps_flutter_web` package. Follow up PR will hold the app-facing plugin implementation. Linked issue: flutter/flutter#26863 --------- Co-authored-by: David Iglesias Teixeira <ditman@gmail.com>
04070f9
to
850bf1e
Compare
…6185) This PR introduces support for marker clustering for Android platform An example usage is available in the example application at `./packages/google_maps_flutter/google_maps_flutter_android/example` on the page `Manage clustering` This is prequel PR for: flutter#4319 and sequel PR for: flutter#6158 Containing only changes to `google_maps_flutter_android` package. Follow up PR will hold the app-facing plugin implementation. Linked issue: flutter/flutter#26863
This PR introduces support for marker clustering for Web platform This is prequel PR for: flutter#4319 and sequel PR for: flutter#6158 Containing only changes to `google_maps_flutter_web` package. Follow up PR will hold the app-facing plugin implementation. Linked issue: flutter/flutter#26863 --------- Co-authored-by: David Iglesias Teixeira <ditman@gmail.com>
Status update from triage: Blocked on landing the iOS platform implementation, which is turn blocked on Google Maps SDK-level issues. |
Adds the initial support for the marker clustering for Android, iOS and Web platforms.
Clustering is implemented using native google maps utils libraries for Android, iOS and Web.
The Google Maps Utils libraries provides the capability for future additions of features available under these libraries to the
google_maps_flutter
plugin, such as heatmaps, although they are not included in this PR.This PR is created from previous PR: flutter/plugins#6752
Resolves flutter/flutter#26863
Android:
iOS:
Web:
Pre-launch Checklist
dart format
.)[shared_preferences]
pubspec.yaml
with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.CHANGELOG.md
to add a description of the change, following repository CHANGELOG style.///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.