-
Notifications
You must be signed in to change notification settings - Fork 3.2k
[google_maps_flutter] Marker clustering support #4319
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[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
packages/google_maps_flutter/google_maps_flutter_web/example/web/index.html
Outdated
Show resolved
Hide resolved
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. |
850bf1e
to
bf56884
Compare
…ion (#6186) This PR introduces support for marker clustering for iOS platform An example usabe is available in the example application at ./packages/google_maps_flutter/google_maps_flutter_ios/example/ios12 on the page `Manage clustering` This is prequel PR for: #4319 and sequel PR for: #6158 Containing only changes to `google_maps_flutter_ios` package. Follow up PR will hold the app-facing plugin implementation. Linked issue: flutter/flutter#26863
bf56884
to
0d9224c
Compare
This comment was marked as resolved.
This comment was marked as resolved.
d5d476a
to
19f7ea4
Compare
19f7ea4
to
7632a2e
Compare
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.
LGTM!
flutter/packages@551bde5...5cc0a01 2024-08-07 stuartmorgan@google.com [ci] Update repository for the release of Flutter 3.24 (flutter/packages#7331) 2024-08-07 engine-flutter-autoroll@skia.org Roll Flutter (stable) from b0850be to 80c2e84 (1397 revisions) (flutter/packages#7322) 2024-08-07 49699333+dependabot[bot]@users.noreply.github.com Bump actions/upload-artifact from 4.3.5 to 4.3.6 (flutter/packages#7330) 2024-08-07 49699333+dependabot[bot]@users.noreply.github.com [pigeon]: Bump io.mockk:mockk from 1.13.7 to 1.13.12 in /packages/pigeon/platform_tests/test_plugin/android (flutter/packages#7189) 2024-08-07 joonas.kerttula@codemate.com [google_maps_flutter] Marker clustering support (flutter/packages#4319) 2024-08-07 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.25.15 to 3.26.0 (flutter/packages#7329) 2024-08-07 engine-flutter-autoroll@skia.org Manual roll Flutter from 1dd7141 to 0a7f8af (23 revisions) (flutter/packages#7328) 2024-08-06 magder@google.com [image_picker_ios] Update image picker UI test query for iOS 18 (flutter/packages#7325) 2024-08-06 joonas.kerttula@codemate.com [google_maps_flutter] Add marker clustering support - iOS implementation (flutter/packages#6186) 2024-08-06 8014077+Frank3K@users.noreply.github.com [url_launcher] launchUrl always returns true for valid schemes on the web. (flutter/packages#7229) 2024-08-06 rexios@rexios.dev [google_maps_flutter] Add heatmap support (flutter/packages#3257) 2024-08-06 stuartmorgan@google.com [local_auth] Endorse macOS (flutter/packages#7274) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com,rmistry@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
flutter/packages@551bde5...5cc0a01 2024-08-07 stuartmorgan@google.com [ci] Update repository for the release of Flutter 3.24 (flutter/packages#7331) 2024-08-07 engine-flutter-autoroll@skia.org Roll Flutter (stable) from b0850be to 80c2e84 (1397 revisions) (flutter/packages#7322) 2024-08-07 49699333+dependabot[bot]@users.noreply.github.com Bump actions/upload-artifact from 4.3.5 to 4.3.6 (flutter/packages#7330) 2024-08-07 49699333+dependabot[bot]@users.noreply.github.com [pigeon]: Bump io.mockk:mockk from 1.13.7 to 1.13.12 in /packages/pigeon/platform_tests/test_plugin/android (flutter/packages#7189) 2024-08-07 joonas.kerttula@codemate.com [google_maps_flutter] Marker clustering support (flutter/packages#4319) 2024-08-07 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.25.15 to 3.26.0 (flutter/packages#7329) 2024-08-07 engine-flutter-autoroll@skia.org Manual roll Flutter from 1dd7141 to 0a7f8af (23 revisions) (flutter/packages#7328) 2024-08-06 magder@google.com [image_picker_ios] Update image picker UI test query for iOS 18 (flutter/packages#7325) 2024-08-06 joonas.kerttula@codemate.com [google_maps_flutter] Add marker clustering support - iOS implementation (flutter/packages#6186) 2024-08-06 8014077+Frank3K@users.noreply.github.com [url_launcher] launchUrl always returns true for valid schemes on the web. (flutter/packages#7229) 2024-08-06 rexios@rexios.dev [google_maps_flutter] Add heatmap support (flutter/packages#3257) 2024-08-06 stuartmorgan@google.com [local_auth] Endorse macOS (flutter/packages#7274) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com,rmistry@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Temporarily locking, as this is attracting a lot of off-topic comments. Discussion on a PR should be about the code in the PR, not things like follow-up requests. |
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.
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.