map_view 0.0.5

map_view

A flutter plugin for displaying google maps on iOS and Android

Please note: API changes are likely as we continue to develop this plugin.

Getting Started

iOS

1. Set the NSLocationWhenInUseUsageDescription in your Info.plist
2. Your Google Map API key must be set using the MapView.setApiKey prior to displaying the MapView

Android

1. In your AndroidManifest.xml, add the following uses-permission
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
2. Also add your Google Maps API Key
    <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="your_api_key"/>
    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
3. Add the MapActivity to your AndroidManifest.xml
    <activity android:name="com.apptreesoftware.mapview.MapActivity" android:theme="@style/Theme.AppCompat.Light.DarkActionBar"/>
4. In your android/build.gradle file. Under buildScript dependencies add:
    classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-4'
   
You can refer to the example project if you run into any issues with these steps.

Features

  • [X] iOS Support
  • [X] Android Support
  • [X] Toolbar support
  • [X] Update Camera position
  • [X] Add Map pins
  • [X] Receive map pin touch callbacks
  • [X] Receive map touch callbacks
  • [X] Receive location change callbacks
  • [X] Receive camera change callbacks
  • [X] Zoom to a set of annotations
  • [X] Customize Pin color

Upcoming

  • [ ] Customize pin image
  • [ ] Remove markers
  • [ ] Bounds geometry functions
  • [ ] Polyline support

Usage examples

Show a map ( with a toolbar )

mapView.show(
    new MapOptions(
        showUserLocation: true,
        initialCameraPosition: new CameraPosition(
            new Location(45.5235258, -122.6732493), 14.0),
        title: "Recently Visited"),
    toolbarActions: [new ToolbarAction("Close", 1)]);

Get notified when the map is ready

mapView.onMapReady.listen((_) {
  print("Map ready");
});

Add multiple pins to the map

mapView.setMarkers(<Marker>[
  new Marker("1", "Work", 45.523970, -122.663081, color: Colors.blue),
  new Marker("2", "Nossa Familia Coffee", 45.528788, -122.684633),
]);

Add a single pin to the map

mapView.addMarker(new Marker("3", "10 Barrel", 45.5259467, -122.687747,
    color: Colors.purple));
    

Zoom to fit all the pins on the map

mapView.zoomToFit(padding: 100);

Receive location updates of the users current location

mapView.onLocationUpdated
    .listen((location) => print("Location updated $location"));

Receive marker touches

mapView.onTouchAnnotation.listen((marker) => print("marker tapped"));

Receive map touches

mapView.onMapTapped
    .listen((location) => print("Touched location $location"));

Receive camera change updates

mapView.onCameraChanged.listen((cameraPosition) =>
    this.setState(() => this.cameraPosition = cameraPosition));

Receive toolbar actions

mapView.onToolbarAction.listen((id) {
  if (id == 1) {
    _handleDismiss();
  }
});

Get the current zoom level

double zoomLevel = await mapView.zoomLevel;

Get the maps center location

Location centerLocation = await mapView.centerLocation;

Get the visible markers on screen

List<Marker> visibleAnnotations = await mapView.visibleAnnotations;

[0.0.1] - 11-07-2017

  • Full Screen Map Support
  • iOS Support
  • Android Support
  • Support for adding map pins
  • Support for location change updates
  • Support for camera position updates
  • Support for marker touch callbacks
  • Support for map tap callbacks
  • Support for zooming to annotation(s)
  • Support for setting camera position
  • Support for querying current viewport information
  • Support for getting current visible pins
  • Support for toolbar items

[0.0.2] - 11-07-2017

  • Improved examples

[0.0.3] - 11-08-2017

  • Fixed Google Play Services dependency - https://github.com/apptreesoftware/flutter_google_map_view/issues/1
  • Added check for valid Google Play Services before displaying map. Will show dialog if out of date with option to update

[0.0.4] - 11-08-2017

  • Updated Authors for pub.dartlang.com

[0.0.5] - 11-14-2017

  • Improved setup documentation

1. Depend on it

Add this to your package's pubspec.yaml file:

dependencies:
  map_view: "^0.0.5"

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter packages get

Alternatively, your editor might support packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:map_view/map_view.dart';

Platforms

About

A flutter plugin for displaying native Google Maps.

Author

AppTree

Homepage

github.com/apptreesoftware/flutter_google_map_view

Documentation

www.dartdocs.org/documentation/map_view/0.0.5/

Uploader

matthew.smith@apptreesoftware.com

License

unknown (LICENSE)

Published

Nov 14, 2017