[google_maps_flutter] Ground Overlay support for Android and iOS
This Pull Request should solve the lack of integration of Ground Overlays type objects within iOS and Android maps, on Flutter. Within the commits I worked on the Dart, Java and Objective-C code integrating the new geometry and aligning the code with the SDKs to which the device belongs (iOS or Android). In the past, this important type of geometry was not supported in any way by the Flutter package of Google Maps. I think it is essential to have GroundOverlays on Flutter as well, so I decided to work on it and attempt integration. The only gap of the current changes I have made is that the "fromPosition" constructor type does not work on iOS. But, in contrast, the "fromBounds" constructor works correctly. Constructive and helpful comments are welcome to improve the implementation and finally make GroundOverlay available to all developers who appreciate Google Maps.
Linked to 26479 issue.
Changes made:
- google_maps_flutter:
- Added methods related to GroundOverlays (such as updateGroundOverlays, onGroundOverlayTap etc.) and adapted existing code;
- Added tests on GroundOverlays to the examples folder;
- Pubspec.yaml and changelog updated.
- google_maps_flutter_android:
- Added GroundOverlays classes and its related code into the existing Java code;
- Added test cases on GroundOverlays in the Java code;
- Added the test cases on the GroundOverlays in the examples folder;
- Pubspec.yaml and changelog updated.
- google_maps_flutter_ios:
- Added GroundOverlays classes and its related code into the existing Objective-C code;
- Add tests on GroundOverlays in the examples folder;
- Pubspec.yaml and changelog updated.
- google_maps_flutter_platform_interface:
- Added classes and methods related to GroundOverlays;
- Added tests on GroundOverlays to the test folder;
- Pubspec.yaml and changelog updated.
Pre-launch Checklist
- [X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
- [x] I read the Tree Hygiene 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, or this PR is exempt from CHANGELOG changes. - [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.
(triage) @gabbopalma Do you still have plans to finish this PR and take it out of draft mode?
I will work on this on the next weeks. Actually, I have just to align the edits to the latest commits.
Closing this as inactive, feel free to reopen once you have time to come back to this pr