map_launcher library

Map Launcher. Opens maps on all Flutter platforms.

Uses universal links (HTTPS URLs), with native app detection on mobile.

Quick Start

import 'package:map_launcher/map_launcher.dart';

// Show a marker (uses Apple Maps on iOS, Google Maps elsewhere)
await MapLauncher.marker(.coords(48.85, 2.29, title: 'Eiffel Tower')).show();

// Show directions
await MapLauncher.directions(.coords(48.85, 2.29), mode: .walking).show();

// Specific app with extras
await MapLauncher.marker(.coords(48.85, 2.29)).show(
  map: .google,
  extra: GoogleExtra(queryPlaceId: 'ChIJLU7j...'),
);

// Discover available maps
final maps = await MapLauncher.marker(.coords(48.85, 2.29))
    .getSupportedMaps([.apple, .google, .waze]);

Classes

AirNavPro
Air Navigation Pro. No safe passive marker launch contract is known.
Amap
Amap (Gaode Maps). Mobile only, directions with origin and travel mode.
AppleExtra
Apple Maps-specific URL parameters.
AppleMaps
Apple Maps. Supports coordinates, text queries, directions with origin and travel mode. No waypoint support.
AvailableMap
Runtime information about a map app's availability on the current device.
BaiduExtra
Baidu Maps caller attribution for extra or providerExtras.
BaiduMaps
Baidu Maps. Mobile only, directions with origin and travel mode.
Citymapper
Citymapper. Directions only, with optional origin.
CoPilot
CoPilot. Mobile only, destination only.
DirectionsRequest
An immutable request to show directions on a map.
DoubleGis
2GIS. Supports coordinates, directions with origin and travel mode.
Flitsmeister
Flitsmeister. Traffic/navigation only.
GoogleExtra
Google Maps-specific URL parameters.
GoogleMaps
Google Maps. Supports coordinates, text queries, directions with origin, waypoints, and travel mode.
GoogleMapsGo
Google Maps Go. Android only, coordinates, directions with travel mode.
HereWeGo
HERE WeGo. Supports coordinates, directions with origin and travel mode.
KakaoMap
KakaoMap. Mobile only, directions with origin.
Location
Represents a location that can be either coordinates or a text search query.
LocationCoords
A coordinate-based location with latitude, longitude, and optional title.
LocationSearch
A text search-based location (e.g., "Coffee shops near me").
MagicEarth
Magic Earth. Mobile only, uses magicearth:// scheme.
MapApp
A map application that can show markers and directions.
MapLauncher
Entry point for launching map applications across all Flutter platforms.
MapLaunchIssue
One rejected provider or failed transport. URLs may contain private data.
Mappls
Mappls (MapmyIndia). Supports coordinates, directions with travel mode.
MapsMe
MAPS.ME. Mobile only; routes require an explicit origin.
MapyCz
Mapy.cz. Coordinate routes using the documented v1 URL API.
MarkerRequest
An immutable request to show a marker on a map.
Moovit
Moovit. Mobile only, directions with origin.
Naver Map caller identity for extra or providerExtras.
Naver Map. Mobile only, directions with origin.
Neshan
Neshan. Mobile only, directions with origin.
OsmAnd
OsmAnd. Mobile markers and HTTP(S) route-planning links.
OsmAndPlus
OsmAnd+. Same as OsmAnd but different package identifier.
PetalMaps
Petal Maps. Android only, directions with origin and travel mode.
SupportedMap
A prepared request bound to one provider. Launch may still fail at runtime.
SygicTruck
Sygic Truck. Mobile only, destination only, pipe-separated URL.
TencentExtra
Tencent (QQ Maps)-specific URL parameters.
TencentMaps
Tencent (QQ Maps). Mobile only, directions with origin and travel mode. Tencent documents a developer key via TencentExtra.referer. The plugin permits keyless handoff attempts; provider acceptance is not guaranteed.
TMap
TMap. Mobile only, directions with origin.
TomTomGo
TomTom Go. Navigation only, destination only.
TomTomGoFleet
TomTom Go Fleet. Android only, navigation only.
Waze
Waze. Navigation only, coordinates, single destination.
WazeExtra
Waze-specific URL parameters.
YandexMaps
Yandex Maps. Supports coordinates, directions with origin, waypoints, and travel mode.
YandexNavi
Yandex Navigator. Mobile only, directions with origin and waypoints.
YandexNaviExtra
Yandex Navigator-specific URL parameters.

Enums

AppleMapDisplay
Display mode for Apple Maps.
MapLaunchFailure
Why a map request could not be handed off.
MapPlatform
The platform the app is running on, used for selecting URL schemes.
TravelMode
Defines the supported modes of transportation for directions.

Exceptions / Errors

MapConfigurationError
Expected provider configuration failure, distinct from a builder bug.
MapHandoffException
A platform adapter may throw this only when no handoff occurred.
MapLaunchException
Thrown when no eligible map can be launched, or a handoff fails.