This application requires JavaScript.
maps for flutter

Flutter maps, the boring infra part sorted.

Use the maplibre_gl Flutter package for true native Android/iOS performance. Pass maps.guru style URL into MapOptions and the package handles tile auth.

install
flutter pub add maplibre_gl
dart
import 'package:flutter/material.dart';
import 'package:maplibre_gl/maplibre_gl.dart';

const String mapStyle = 'https://maps.guru/api/v1/styles/standard/light/style.json?key=YOUR_API_KEY';

class CityMap extends StatelessWidget {
  const CityMap({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: MaplibreMap(
        options: MapOptions(
          center: GeoPoint(latitude: 28.6139, longitude: 77.209),
          zoom: 11,
          style: mapStyle,
        ),
        onMapCreated: (controller) {
          controller.addCircles(
            const CircleOptions(
              geometry: [
                GeoPoint(latitude: 28.6139, longitude: 77.209),
              ],
              circleColor: '#ff6b00',
              circleRadius: 8,
            ),
          );
        },
      ),
    );
  }
}
{native render}
native · Flutter

Native WebGL map, runs on iOS and Android.

The Flutter SDK renders straight to the platform’s OpenGL / Metal context. Web preview is skipped — install the package and run on a simulator to see live tiles.

Why Flutter teams ship on maps.guru

Free-tier generous enough for real production traffic. 50,000 tile requests/month , no credit card.

  • True native performance, using platform-specific OpenGL/Metal bindings.
  • Pass the maps.guru style URL straight through; maplibre_gl handles tile auth.
  • Same API surface across iOS and Android. Write once, deploy everywhere.

Frequently asked

Ready to build with
beautiful basemaps?

Join developers worldwide who trust maps.guru for their mapping needs. Start free, no credit card required.

Contact us
Free forever plan
5-minute setup
No credit card