[google_maps_flutter] Add marker clustering support - iOS implementation
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: https://github.com/flutter/packages/pull/4319 and sequel PR for: https://github.com/flutter/packages/pull/6158
Containing only changes to google_maps_flutter_ios package.
Follow up PR will hold the app-facing plugin implementation.
Linked issue: https://github.com/flutter/flutter/issues/26863
Pre-launch Checklist
- [x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
- [x] I read the Tree Hygiene wiki page, which explains my responsibilities.
- [x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use
dart format.) - [x] I signed the CLA.
- [x] The title of the PR starts with the name of the package surrounded by square brackets, e.g.
[shared_preferences] - [x] I linked to at least one issue that this PR fixes in the description above.
- [x] I updated
pubspec.yamlwith an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes. - [x] I updated
CHANGELOG.mdto add a description of the change, following repository CHANGELOG style. - [x] I updated/added relevant documentation (doc comments with
///). - [x] I added new tests to check the change I am making, or this PR is test-exempt.
- [x] All existing and new tests are passing.
If you need help, consider asking for advice on the #hackers-new channel on Discord.
@hellohuanlin
can you add some unit tests on native side?
Added some native unit tests
@jokerttu is this ready for re-review?
@jokerttu is this ready for re-review?
@jmagman not yet, this is waiting new release of Google-Maps-iOS-Utils library to have support latest Google Maps SDK versions. See discussion here: https://github.com/flutter/packages/pull/6186#discussion_r1581115795
FYI I have raised the blocking issue internally with the Google Maps team.
Update from triage: I haven't heard anything yet on when the utils SDK will be usable for us.
It looks like the iOS utils pod might be updated enough to land this. Worth checking out: https://github.com/googlemaps/google-maps-ios-utils/issues/473#issuecomment-2261690953
As version 5.0.0 and version 6.0.0 for Google-Maps-iOS-Utils has been published, I am able to continue with this. Meanwhile the package has been migrated to pigeon, so this needs now a bit more changes than version number...
@stuartmorgan this is again ready for review.
Updated version dependency for Google-Maps-iOS-Utils:
s.dependency 'Google-Maps-iOS-Utils', '>= 5.0.0', '< 7.0.0'
ios14 uses version 5.0.0 for GoogleMaps Sdk version 8.x
ios15 uses version 6.0.0 for GoogleMaps Sdk version 9.x
Migrated to pigeon messaging
@stuartmorgan Fixed the issues mentioned in the review. Rebased and fixed conflicts with heatmap support.
auto label is removed for flutter/packages/6186, due to This PR has not met approval requirements for merging. Changes were requested by {stuartmorgan}, please make the needed changes and resubmit this PR. The PR author is a member of flutter-hackers and needs 0 more review(s) in order to merge this PR.
- Merge guidelines: A PR needs at least one approved review if the author is already part of flutter-hackers or two member reviews if the author is not a flutter-hacker before re-applying the autosubmit label. Reviewers: If you left a comment approving, please use the "approve" review action instead.
@stuartmorgan seems like I need separate approval from you before I can add autosubmit label.