DEEPLINKX / app

Baidu Maps

Baidu Maps actions, setup, native platforms, and fallback options.

DeeplinkX 1.5.8 · Source

Platforms and setup

Native platforms: ios, android.

Public actions

BaiduMaps.open

factory BaiduMaps.open({ final bool fallbackToStore = false, final String sourceApplication = _defaultSourceApplication, })

Launch with DeeplinkX.launchApp. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.

ParameterTypeRequiredDefault
fallbackToStoreboolNofalse
sourceApplicationStringNo_defaultSourceApplication

Exact source

BaiduMaps.view

static BaiduMapsViewAction view({ required final Coordinate coordinate, final String? title, final String? content, final int? zoom, final BaiduMapsCoordType coordType = BaiduMapsCoordType.bd09ll, final bool traffic = false, final String sourceApplication = _defaultSourceApplication, final bool fallbackToStore = false, })

Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.

ParameterTypeRequiredDefault
coordinateCoordinateYes—
titleString?No—
contentString?No—
zoomint?No—
coordTypeBaiduMapsCoordTypeNoBaiduMapsCoordType.bd09ll
trafficboolNofalse
sourceApplicationStringNo_defaultSourceApplication
fallbackToStoreboolNofalse

Exact source

static BaiduMapsSearchAction search({ required final String query, final String? region, final Coordinate? center, final BaiduMapsBounds? bounds, final int? radius, final int? zoom, final BaiduMapsCoordType coordType = BaiduMapsCoordType.bd09ll, final String sourceApplication = _defaultSourceApplication, final bool fallbackToStore = false, })

Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.

ParameterTypeRequiredDefault
queryStringYes—
regionString?No—
centerCoordinate?No—
boundsBaiduMapsBounds?No—
radiusint?No—
zoomint?No—
coordTypeBaiduMapsCoordTypeNoBaiduMapsCoordType.bd09ll
sourceApplicationStringNo_defaultSourceApplication
fallbackToStoreboolNofalse

Exact source

static BaiduMapsNearbySearchAction nearbySearch({ required final String query, final Coordinate? center, final int? radius, final BaiduMapsCoordType coordType = BaiduMapsCoordType.bd09ll, final String sourceApplication = _defaultSourceApplication, final bool fallbackToStore = false, })

Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.

ParameterTypeRequiredDefault
queryStringYes—
centerCoordinate?No—
radiusint?No—
coordTypeBaiduMapsCoordTypeNoBaiduMapsCoordType.bd09ll
sourceApplicationStringNo_defaultSourceApplication
fallbackToStoreboolNofalse

Exact source

BaiduMaps.line

static BaiduMapsLineAction line({ required final String name, final String? region, final int? zoom, final String sourceApplication = _defaultSourceApplication, final bool fallbackToStore = false, })

Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.

ParameterTypeRequiredDefault
nameStringYes—
regionString?No—
zoomint?No—
sourceApplicationStringNo_defaultSourceApplication
fallbackToStoreboolNofalse

Exact source

BaiduMaps.directions

static BaiduMapsDirectionsAction directions({ required final String destination, final String? origin, final String? region, final BaiduMapsTravelMode mode = BaiduMapsTravelMode.driving, final BaiduMapsCoordType coordType = BaiduMapsCoordType.bd09ll, final String sourceApplication = _defaultSourceApplication, final bool fallbackToStore = false, })

Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.

ParameterTypeRequiredDefault
destinationStringYes—
originString?No—
regionString?No—
modeBaiduMapsTravelModeNoBaiduMapsTravelMode.driving
coordTypeBaiduMapsCoordTypeNoBaiduMapsCoordType.bd09ll
sourceApplicationStringNo_defaultSourceApplication
fallbackToStoreboolNofalse

Exact source

BaiduMaps.directionsWithCoords

static BaiduMapsDirectionsWithCoordsAction directionsWithCoords({ required final Coordinate destination, final Coordinate? origin, final String? destinationTitle, final String? originTitle, final String? region, final BaiduMapsTravelMode mode = BaiduMapsTravelMode.driving, final BaiduMapsCoordType coordType = BaiduMapsCoordType.bd09ll, final String sourceApplication = _defaultSourceApplication, final bool fallbackToStore = false, })

Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.

ParameterTypeRequiredDefault
destinationCoordinateYes—
originCoordinate?No—
destinationTitleString?No—
originTitleString?No—
regionString?No—
modeBaiduMapsTravelModeNoBaiduMapsTravelMode.driving
coordTypeBaiduMapsCoordTypeNoBaiduMapsCoordType.bd09ll
sourceApplicationStringNo_defaultSourceApplication
fallbackToStoreboolNofalse

Exact source

BaiduMaps.navigate

static BaiduMapsNavigateAction navigate({ required final Coordinate destination, final String? destinationTitle, final BaiduMapsNavigationMode mode = BaiduMapsNavigationMode.driving, final BaiduMapsCoordType coordType = BaiduMapsCoordType.bd09ll, final String sourceApplication = _defaultSourceApplication, final bool fallbackToStore = false, })

Launch with DeeplinkX.launchAction. Native platforms: ios, android. Action web fallback: available. Store-fallback flag: supported; opt in explicitly.

ParameterTypeRequiredDefault
destinationCoordinateYes—
destinationTitleString?No—
modeBaiduMapsNavigationModeNoBaiduMapsNavigationMode.driving
coordTypeBaiduMapsCoordTypeNoBaiduMapsCoordType.bd09ll
sourceApplicationStringNo_defaultSourceApplication
fallbackToStoreboolNofalse

Exact source

Provider setup and examples

DeeplinkX supports Baidu Maps URI actions on Android and iOS. The integration uses the baidumap scheme and Android package-targeted intents so launch attempts can prefer the native app before falling back.

References

Usage

Launch Baidu Maps

final deeplinkX = DeeplinkX();

await deeplinkX.launchApp(BaiduMaps.open());

View A Marker

await deeplinkX.launchAction(
  BaiduMaps.view(
    coordinate: const Coordinate(latitude: 39.915, longitude: 116.404),
    title: 'Tiananmen',
    content: 'Beijing landmark',
    zoom: 16,
    coordType: BaiduMapsCoordType.wgs84,
    sourceApplication: 'my_flutter_app',
  ),
);
await deeplinkX.launchAction(
  BaiduMaps.search(
    query: 'coffee',
    region: 'Beijing',
    center: const Coordinate(latitude: 39.915, longitude: 116.404),
    radius: 1000,
  ),
);
await deeplinkX.launchAction(
  BaiduMaps.nearbySearch(
    query: 'hotel',
    center: const Coordinate(latitude: 31.2304, longitude: 121.4737),
    radius: 2500,
  ),
);

Transit Line

await deeplinkX.launchAction(
  BaiduMaps.line(
    name: 'Line 1',
    region: 'Beijing',
  ),
);

Directions By Text

await deeplinkX.launchAction(
  BaiduMaps.directions(
    origin: 'Beijing Railway Station',
    destination: 'Tiananmen',
    region: 'Beijing',
    mode: BaiduMapsTravelMode.transit,
  ),
);

If origin is omitted, DeeplinkX uses Baidu Maps' current-location token.

Directions By Coordinates

await deeplinkX.launchAction(
  BaiduMaps.directionsWithCoords(
    origin: const Coordinate(latitude: 39.9042, longitude: 116.4074),
    originTitle: 'Start',
    destination: const Coordinate(latitude: 39.915, longitude: 116.404),
    destinationTitle: 'Tiananmen',
    region: 'Beijing',
    mode: BaiduMapsTravelMode.walking,
    coordType: BaiduMapsCoordType.wgs84,
  ),
);

Native Navigation

await deeplinkX.launchAction(
  BaiduMaps.navigate(
    destination: const Coordinate(latitude: 39.915, longitude: 116.404),
    destinationTitle: 'Tiananmen',
    mode: BaiduMapsNavigationMode.walking,
  ),
);

Shared Map Interfaces

These actions implement shared map-action abstractions:

InterfaceBaidu Maps action
MapViewActionBaiduMaps.view
MapSearchActionBaiduMaps.search
MapDirectionsActionBaiduMaps.directions
MapDirectionsWithCoordsActionBaiduMaps.directionsWithCoords

The nearbySearch, line, and navigate actions are Baidu-specific extras.

Platform Configuration

iOS

Add the Baidu Maps scheme to LSApplicationQueriesSchemes in ios/Runner/Info.plist:

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>baidumap</string>
</array>

Android

Add Baidu Maps to package visibility in android/app/src/main/AndroidManifest.xml:

<queries>
  <package android:name="com.baidu.BaiduMap" />
  <intent>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="baidumap" />
  </intent>
</queries>

URI Formats

ActionURI format
View markerbaidumap://map/marker
Searchbaidumap://map/place/search
Nearby searchAndroid place/nearby; iOS nearbysearch
Transit linebaidumap://map/line
Directionsbaidumap://map/direction
Driving navigationbaidumap://map/navi
Walking navigationbaidumap://map/walknavi
Riding navigationAndroid bikenavi, iOS ridenavi

Every action accepts an optional sourceApplication, defaulting to deeplink_x; the generated src is prefixed with andr. or ios. for the target platform. Omitted marker text uses Pin and Description. Transit line lookups require a nonblank region, and iOS driving navigation accepts an optional destinationTitle for its required query label.

DeeplinkX uses familiar marker defaults and Baidu's name:...|latlng:... route-point format while enforcing provider-required transit regions and distinct Android and iOS nearby-search paths and parameter names.

Fallbacks

ConditionBehavior
Baidu Maps installedOpens Baidu Maps using URI/intents
Baidu Maps missing, store enabledOpens Google Play or the iOS App Store
Baidu Maps missing, store offFalls back to https://map.baidu.com