Bumps [uuid](https://github.com/Daegalus/dart-uuid) from 3.0.7 to 4.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Daegalus/dart-uuid/releases">uuid's releases</a>.</em></p> <blockquote> <h2>4.0.0</h2> <h2>What's Changed</h2> <ul> <li>Provide constants for RFC4122 namespaces in UuidValue by <a href="https://github.com/SpencerC"><code>@SpencerC</code></a> in <a href="https://redirect.github.com/daegalus/dart-uuid/pull/85">daegalus/dart-uuid#85</a></li> <li>Fix classes to be properly const by <a href="https://github.com/daegalus"><code>@daegalus</code></a> in <a href="https://redirect.github.com/daegalus/dart-uuid/pull/88">daegalus/dart-uuid#88</a></li> <li>Fix <a href="https://redirect.github.com/Daegalus/dart-uuid/issues/89">#89</a> v7: Uint64List not supported by dart2js. and v6: Uint64 accessor not supported by dart2js. by <a href="https://github.com/hambergerpls"><code>@hambergerpls</code></a> in <a href="https://redirect.github.com/daegalus/dart-uuid/pull/90">daegalus/dart-uuid#90</a></li> <li>check the length of the Uint8list returned by the custom RNG by <a href="https://github.com/wph144"><code>@wph144</code></a> in <a href="https://redirect.github.com/daegalus/dart-uuid/pull/91">daegalus/dart-uuid#91</a></li> <li>toBytes no longer validates by <a href="https://github.com/Erhannis"><code>@Erhannis</code></a> in <a href="https://redirect.github.com/daegalus/dart-uuid/pull/92">daegalus/dart-uuid#92</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/SpencerC"><code>@SpencerC</code></a> made their first contribution in <a href="https://redirect.github.com/daegalus/dart-uuid/pull/85">daegalus/dart-uuid#85</a></li> <li><a href="https://github.com/hambergerpls"><code>@hambergerpls</code></a> made their first contribution in <a href="https://redirect.github.com/daegalus/dart-uuid/pull/90">daegalus/dart-uuid#90</a></li> <li><a href="https://github.com/wph144"><code>@wph144</code></a> made their first contribution in <a href="https://redirect.github.com/daegalus/dart-uuid/pull/91">daegalus/dart-uuid#91</a></li> <li><a href="https://github.com/Erhannis"><code>@Erhannis</code></a> made their first contribution in <a href="https://redirect.github.com/daegalus/dart-uuid/pull/92">daegalus/dart-uuid#92</a></li> </ul> <h2>All changes since v3.0.7</h2> <h3>v4.0.0</h3> <ul> <li>toBytes on UuidValue now does not validate by default, but has the option <code>validate</code> that can be set to true if you need validation when calling it. (Thanks <a href="https://github.com/Erhannis"><code>@Erhannis</code></a>)</li> </ul> <h3>v4.0.0-beta3-1</h3> <ul> <li>Ensure that any custom RNG implementation produces Uint8Lists of length 16. (Thanks <a href="https://github.com/wph144"><code>@wph144</code></a>)</li> </ul> <h3>v4.0.0-beta3</h3> <ul> <li><strong>[BREAKING CHANGE]</strong> Replacing UuidUtil rng functions with RNG classes. <ul> <li>UuidUtil.mathRNG() is replaced with MathRNG().generate().</li> <li>UuidUtil.cryptoRNG() is replaced with CryptoRNG().generate().</li> <li>Custom crypto implementations just need to implement the <code>RNG</code> abstract class.</li> <li>namedArgs and positionalArgs have been removed from GlobalOptions</li> <li>You may use LegacyRNG() if you need to use the old function style RNG.</li> </ul> </li> <li>Fix a bug with the usage of Uint64List in Dart2js by not using it. (Thanks <a href="https://github.com/hambergerpls"><code>@hambergerpls</code></a>)</li> </ul> <h3>v4.0.0-beta2</h3> <ul> <li><strong>[BREAKING CHANGE]</strong> The <code>Uuid</code> class now takes a <code>GlobalOptions</code> class instead of a <code>Map<String, dynamic></code>.</li> <li>Added options classes to eventually replace the Map parameter.</li> <li><strong>[BREAKING CHANGE]</strong> Since v6,v7,v8 are new for 4.0, I have made it so they only take the new options class.</li> <li>Reworked the constructors, and moved state out of the classes. Const is now supported properly again</li> <li>Switched tests to use const Uuid to catch regressions.</li> <li>Set the <code>options</code> parameter in v1, v4, and v5 to deprecated.</li> <li><strong>[BREAKING CHANGE]</strong> Make UuidValue properly const also <ul> <li>Can no longer run validation on the const variant.</li> <li>Added UuidValue.withValidation() to handle this usecase, it can't be const.</li> <li>If you need const and validation. Create the UuidValue with the UUID, then call the <code>validate()</code> function on it.</li> </ul> </li> </ul> <h3>v4.0.0-beta1-1</h3> <ul> <li>Mostly cleanup, linting, updating depedencies, etc.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/daegalus/dart-uuid/blob/main/CHANGELOG.md">uuid's changelog</a>.</em></p> <blockquote> <p>v4.0.0</p> <ul> <li>toBytes on UuidValue now does not validate by default, but has the option <code>validate</code> that can be set to true if you need validation when calling it. (Thanks <a href="https://github.com/Erhannis"><code>@Erhannis</code></a>)</li> </ul> <p>v4.0.0-beta3-1</p> <ul> <li>Ensure that any custom RNG implementation produces Uint8Lists of length 16. (Thanks <a href="https://github.com/wph44"><code>@wph44</code></a>)</li> </ul> <p>v4.0.0-beta3</p> <ul> <li><strong>[BREAKING CHANGE]</strong> Replacing UuidUtil rng functions with RNG classes. <ul> <li>UuidUtil.mathRNG() is replaced with MathRNG().generate().</li> <li>UuidUtil.cryptoRNG() is replaced with CryptoRNG().generate().</li> <li>Custom crypto implementations just need to implement the <code>RNG</code> abstract class.</li> <li>namedArgs and positionalArgs have been removed from GlobalOptions</li> <li>You may use LegacyRNG() if you need to use the old function style RNG.</li> </ul> </li> <li>Fix a bug with the usage of Uint64List in Dart2js by not using it. (Thanks <a href="https://github.com/hambergerpls"><code>@hambergerpls</code></a>)</li> </ul> <p>v4.0.0-beta2</p> <ul> <li><strong>[BREAKING CHANGE]</strong> The <code>Uuid</code> class now takes a <code>GlobalOptions</code> class instead of a <code>Map<String, dynamic></code>.</li> <li>Added options classes to eventually replace the Map parameter.</li> <li><strong>[BREAKING CHANGE]</strong> Since v6,v7,v8 are new for 4.0, I have made it so they only take the new options class.</li> <li>Reworked the constructors, and moved state out of the classes. Const is now supported properly again</li> <li>Switched tests to use const Uuid to catch regressions.</li> <li>Set the <code>options</code> parameter in v1, v4, and v5 to deprecated.</li> <li><strong>[BREAKING CHANGE]</strong> Make UuidValue properly const also <ul> <li>Can no longer run validation on the const variant.</li> <li>Added UuidValue.withValidation() to handle this usecase, it can't be const.</li> <li>If you need const and validation. Create the UuidValue with the UUID, then call the <code>validate()</code> function on it.</li> </ul> </li> </ul> <p>v4.0.0-beta1-1</p> <ul> <li>Mostly cleanup, linting, updating depedencies, etc.</li> </ul> <p>v4.0.0-beta1</p> <ul> <li>Break up versions into individual objects that can be used standalone.</li> <li>No more colliding global states between versions</li> <li>Added UUID v6, v7, v8 from the new RFC.</li> <li>Add <code>time</code>, <code>version</code>, and <code>variant</code> functions to UuidValue</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="e67b968010"><code>e67b968</code></a> Fix SDK constraints</li> <li><a href="13da889a55"><code>13da889</code></a> Update docs</li> <li><a href="8b0ada22b8"><code>8b0ada2</code></a> Prep for 4.0.0 release</li> <li><a href="3416381ba2"><code>3416381</code></a> Added validate option to toBytes. Also ran dart format, because of git CI fail.</li> <li><a href="8a49c14951"><code>8a49c14</code></a> Revert "Made fromByteList and fromList match" - turns out it wasn't</li> <li><a href="c2dd584014"><code>c2dd584</code></a> Made fromByteList and fromList match</li> <li><a href="14cb91c44d"><code>14cb91c</code></a> toBytes no longer validates</li> <li><a href="54ccdce893"><code>54ccdce</code></a> Cleanup and regenerate docs</li> <li><a href="06e425a21d"><code>06e425a</code></a> Cleanup and version bump</li> <li><a href="ca2bf53b32"><code>ca2bf53</code></a> check the length of the Uint8list returned by the custom RNG</li> <li>Additional commits viewable in <a href="https://github.com/Daegalus/dart-uuid/compare/3.0.7...4.0.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Parker Lougheed <parlough@gmail.com>
Place Tracker
A sample place tracking app that uses the google_maps_flutter plugin. Keep track of your favorite places, places you've visited, and places you want to go. View details about these places, show them on a map, and get directions to them.
Goals
- Learn how to create an interface composed of GoogleMap and other widgets.
- Learn how to show, control, and modify a GoogleMap widget.
- Learn how to place a marker on a map.
The important bits
place_map.dart
This page shows a full-screen GoogleMap widget with place markers. Provides examples of how to stack other widgets on top of a GoogleMap widget, how to add markers to a map, and how to make other flutter widgets interact with the GoogleMap widget.
place_details.dart
This page shows a detailed view of a single place. Provides examples of how to place a GoogleMap widget inside of a ListView and how to disable certain touch gestures on the map.
Getting Started
To run this sample app, you will need an API key.
Get an API key at https://cloud.google.com/maps-platform/.
Android
Specify your API key in the application manifest
android/app/src/main/AndroidManifest.xml:
<manifest ...
<application ...
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="YOUR KEY HERE"/>
iOS
Specify your API key in AppDelegate.swift:
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GMSServices.provideAPIKey("YOUR API KEY HERE")
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
Web
Add your API key to web/index.html in the <head> tag:
<script src="https://maps.googleapis.com/maps/api/js?key=<YOUR_API_KEY_HERE>"></script>
For additional help setting up the plugin, see the plugin's README page.
For help getting started with Flutter, view our online documentation.
Caveat
The google_maps_flutter plugin is in developer preview until dynamic thread merging is finished.
Questions/issues
If you have a general question about any of the techniques you see in the sample, the best places to go are:
If you run into an issue with the sample itself, please file an issue in the main Flutter repo.