tree 1b9ba8e86049ef074adf4d8804e669ff6ef083bd
parent 06737e3452725811ae1003b5d374c3931e5b6157
author Kaushik Iska <iska.kaushik@gmail.com> 1551282433 -0800
committer GitHub <noreply@github.com> 1551282433 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJcdrEBCRBK7hj4Ov3rIwAAdHIIAEnkfAQriyztNnh3blxGwqFP
 3uIFVL/3ZbXaXKaJyNG1R5YgRIuYbcUx3CZXJqYPMywCYsQV30ebBWV5hcdRlDyu
 TfBifEqlH2bTTxWyApzD+DBYHSaKbzQ9G5KXk2WhvlL1gBXda6nwJoM49sDJ5Lw7
 z+d/rAtK9kqylfl6EWfvLqm507WRNt99SySrztO5JXmHPc0tcpV96+sD4HeWY2Xl
 Djxqz6xuJFnQNq/c8jkVsz4jgDcyG8FZtoSyBOhXU0sP9MZkjm9Yc8kA3SLmC5Az
 0gJ0THCs85VCeYqQy+WWCYvEpK4RIpKseQQ2CgCLS+pl9/6ef7HMVJ3LiXAnR84=
 =RRX/
 -----END PGP SIGNATURE-----
 

[google_maps_flutter] Marker APIs are now widget based (Dart Changes) (#1239)

* Marker APIs are now widget based

Additional Context: Maps Plugin is in the process of being
moved away from a controller based API to a widget based api.
This is to facilitate easier state management and address a
lot of the common issues.

* use collection literals

* Address CR comments

* Revert "use collection literals"

This reverts commit 75956c2f58d2b97a90ce9b2ccfad6fd4856e155d.

* fix collection literal stuff

* Crearte a marker update handler and update TODOs

* ignore collection literals

* Fix test failures

* Move marker updates to their own chunks

* Fix failing tests

* Improved some docs and added some assertions

* Make class private

* Fix all hashCode and equals

* update formatring

* Address all the pending cr comments

* fix failing test

* Do not use => without return value

* remove factory method

* User `Marker marker` instead of `Marker m`

* Update changelog and pubspec.yaml
