1
0
mirror of https://github.com/flutter/samples.git synced 2025-11-08 13:58:47 +00:00
Files
samples/place_tracker/README.md
John Ryan 2236f122b4 Add web support to place_tracker (#550)
* enable web for place_tracker

* add place_tracker symlink

* add generated_plugin_registrant.dart

* update google_maps_flutter_web to fix pins not showing

* add place_tracker to peanut.yaml

* upgrade place_tracker dep

* use a 32 pixel square

* Apply zoom to selected category when the PlaceMapState updates. This fixes a grey screen issue in web, after saving a place.

* pub upgrade

* run pub upgrade

* use published versions of packages

* remove lib/generated_plugin_registrant.dart

* add newline

* add web API key to README

Co-authored-by: David Iglesias Teixeira <ditman@gmail.com>
2020-09-23 11:06:25 -07:00

2.9 KiB

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.