-
Notifications
You must be signed in to change notification settings - Fork 7
/
zoom.dart
51 lines (45 loc) · 1.2 KB
/
zoom.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import 'package:flutter/material.dart';
import 'package:universe/universe.dart';
class ZoomControllerMap extends StatefulWidget {
const ZoomControllerMap({super.key});
@override
State<ZoomControllerMap> createState() => _ZoomControllerMapState();
}
class _ZoomControllerMapState extends State<ZoomControllerMap> {
final _mapKey = UniqueKey();
final _mapController = MapController();
@override
void dispose() {
_mapController.dispose();
super.dispose();
}
void _zoom() {
// zoom to zoom level 17 with animation
_mapController.zoomTo(17, animate: true);
}
@override
Widget build(BuildContext context) {
return Stack(
children: [
U.OpenStreetMap(
key: _mapKey,
controller: _mapController,
center: [51.555158, -0.108343],
zoom: 15,
),
Positioned(
left: 20,
bottom: 90,
child: ElevatedButton(
onPressed: _zoom,
style: ElevatedButton.styleFrom(
foregroundColor: Colors.white,
backgroundColor: Colors.lightBlue,
),
child: const Text('Zoom Map to zoom level 17'),
),
),
],
);
}
}