flutter_map_mbtiles_provider/example/lib/main.dart

67 lines
2.0 KiB
Dart
Raw Normal View History

2021-03-16 15:51:55 +00:00
import 'package:flutter/material.dart';
import 'package:flutter_map/flutter_map.dart';
import 'package:latlong/latlong.dart';
import 'package:flutter_map_mbtiles_provider/flutter_map_mbtiles_provider.dart';
void main() {
runApp(FlutterMapApp());
}
class FlutterMapApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: OfflineMBTilesMapPage(),
);
}
}
class OfflineMBTilesMapPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Offline Map (using MBTiles)')),
body: Padding(
padding: EdgeInsets.all(8.0),
child: Column(
children: [
Padding(
padding: EdgeInsets.only(top: 8.0, bottom: 8.0),
child: Text(
'This is an offline map of Berlin, Germany using a single MBTiles file. The file was built from the Stamen toner map data (http://maps.stamen.com).\n\n'
'(Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.)'),
),
Flexible(
child: FlutterMap(
options: MapOptions(
center: LatLng(
52.516144,
13.404938,
),
minZoom: 12.0,
maxZoom: 14.0,
zoom: 12.0,
swPanBoundary: LatLng(52.492205, 13.282081),
nePanBoundary: LatLng(52.540084, 13.527795),
),
layers: [
TileLayerOptions(
tileProvider: MBTilesImageProvider.fromAsset('assets/berlin.mbtiles'),
maxZoom: 14.0,
backgroundColor: Colors.white,
tms: true),
],
),
),
],
),
),
);
}
}