static_map_service 1.0.0 copy "static_map_service: ^1.0.0" to clipboard
static_map_service: ^1.0.0 copied to clipboard

A type-safe Dart package for generating static map image URLs from Google Maps, Apple Maps, and Mapbox.

static_map_service #

pub package analyze codecov

A Dart package for generating static map images url from Google Maps, Apple Snapshots, and Mapbox Static Images.

Features #

Generate static map images url from various providers.

Usage #

Google Maps #

import 'package:static_map_service/static_map_service.dart';

void main() {
  const url = GoogleMapService.center(
    key: 'your_api_key',
    center: MapLatLng(
      latitude: 37.7749,
      longitude: -122.4194,
    ),
    zoom: 12,
    size: GoogleMapSize(
      width: 400,
      height: 400,
    ),
  ).url;

  print(url);
}

Encoded Polyline

Using Encoded Polyline Algorithm can reduce the URL length significantly.

final url = GoogleMapService.path(
  key: 'your_api_key',
  path: GoogleMapPath.encoded(
    locations: [
      MapLatLng(latitude: 38.5, longitude: -120.2),
      MapLatLng(latitude: 40.7, longitude: -120.95),
      MapLatLng(latitude: 43.252, longitude: -126.453),
    ],
    color: GoogleMapColor.red(),
    weight: 5,
  ),
  size: GoogleMapSize(width: 400, height: 400),
).url;

With Digital Signature

final url = GoogleMapService.center(
  key: 'your_api_key',
  center: MapLatLng(
    latitude: 37.7749,
    longitude: -122.4194,
  ),
  zoom: 12,
  size: GoogleMapSize(
    width: 400,
    height: 400,
  ),
  signatureFunction: (pathAndParams) {
    // Implement your signature logic here
    // return compute(pathAndParams, 'your_secret');
    return 'signature';
  },
).url;

Apple Maps #

import 'package:static_map_service/static_map_service.dart';

void main() {
  final url = AppleMapService(
    teamId: 'your_team_id',
    keyId: 'your_key_id',
    center: MapLatLng(
      latitude: 37.7749,
      longitude: -122.4194,
    ),
    signatureFunction: (pathAndParams) {
      // Implement your signature logic here
      return 'signature';
    },
  ).url;

  print(url);
}

Mapbox #

import 'package:static_map_service/static_map_service.dart';

void main() {
  final url = MapboxMapService(
    accessToken: 'your_access_token',
    center: MapLatLng(
      latitude: 37.7749,
      longitude: -122.4194,
    ),
    zoom: 12.5,
    size: MapboxMapSize(width: 600, height: 400),
    styleId: 'streets-v11', // default
  ).url;

  print(url);
}

Mapbox Overlays

final url = MapboxMapService.auto(
  accessToken: 'your_access_token',
  overlays: [
    MapboxMarker(
      location: MapLatLng(latitude: 37.7749, longitude: -122.4194),
      label: 'a',
      color: 'ff0000',
    ),
    MapboxPath(
      locations: [
         MapLatLng(latitude: 37.7749, longitude: -122.4194),
         MapLatLng(latitude: 37.8, longitude: -122.45),
      ],
      strokeWidth: 3,
      strokeColor: '0000ff',
    ),
  ],
  size: MapboxMapSize(width: 600, height: 400),
).url;

Additional Information #

For more details, please refer to the documentation of each service.

License #

MIT License - see LICENSE for details.

1
likes
160
points
213
downloads

Publisher

verified publisherkoji-1009.com

Weekly Downloads

A type-safe Dart package for generating static map image URLs from Google Maps, Apple Maps, and Mapbox.

Repository (GitHub)
View/report issues

Topics

#map #static-maps #google-maps #apple-maps #mapbox

Documentation

API reference

License

MIT (license)

More

Packages that depend on static_map_service