Pub Package Github Actions CI

Overview

Cross-platform geographic maps for Flutter applications.

This is an early version and lots of things are still missing or broken.

Pull requests are welcome! The package is licensed under the Apache License 2.0.

Getting started

1.Add dependency

In pubspec.yaml:

dependencies:
  maps: ^0.4.0

Add the following in ios/Runner/Info.plist:

	<key>io.flutter.embedded_views_preview</key>
	<true/>

2.Use

Launching external application?

MapLauncher launches map applications.

The following implementations are available:

import 'package:maps/maps.dart';

Future<void> main() async {
  // Use default map app
  await MapAppLauncher.defaultInstance.launch(
    query: 'Paris',
  );
}

Rendering a map?

MapWidget shows a map. It fills all space available to it.

import 'package:flutter/material.dart';
import 'package:maps/maps.dart';

void main() {
  // Set default adapter
  MapAdapter.defaultInstance = MapAdapter.platformSpecific(
    ios: AppleNativeAdapter(),

    // Bing Maps iframe API does not necessarily require API credentials
    // so we use it in the example.
    otherwise: BingMapsIframeAdapter(),
  );

  // Construct a map widget
  const parisMap = MapWidget(
    location: MapLocation(
      query: 'Paris',
    ),
    markers: [
      MapMarker(
        query: 'Eiffel Tower',
      ),
    ],
  );

  // Run our example app
  runApp(const MaterialApp(
    home: Scaffold(
      body: SafeArea(
        child: parisMap, // Full-screen map of Paris
      ),
    ),
  ));
}

Assuming that you have enabled Flutter for Web, you can run:

flutter run -d chrome

Supported map providers

Apple Maps APIs

iOS

Javascript

Images

Bing Maps APIs

Javascript

Iframes

Images

Google Maps APIs

Android / iOS native SDK

Use the separate package maps_adapter_google_maps.

Javascript

Iframes

Images

Contributing?

  • Pull requests are welcome.
  • Please test your changes manually using the "example" application in the repository.

Libraries

maps
Cross-platform maps widgets. Supports Apple Maps and Google Maps. [...]