Skip to content

Commit ad8318b

Browse files
authoredDec 2, 2023
refactor: example app plugins (#1744)
1 parent c0829b4 commit ad8318b

8 files changed

+34
-42
lines changed
 

‎example/lib/main.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import 'package:flutter_map_example/pages/map_inside_listview.dart';
1717
import 'package:flutter_map_example/pages/markers.dart';
1818
import 'package:flutter_map_example/pages/moving_markers.dart';
1919
import 'package:flutter_map_example/pages/overlay_image.dart';
20+
import 'package:flutter_map_example/pages/plugin_scalebar.dart';
21+
import 'package:flutter_map_example/pages/plugin_zoombuttons.dart';
2022
import 'package:flutter_map_example/pages/polygon.dart';
2123
import 'package:flutter_map_example/pages/polyline.dart';
2224
import 'package:flutter_map_example/pages/reset_tile_layer.dart';
@@ -28,8 +30,6 @@ import 'package:flutter_map_example/pages/stateful_markers.dart';
2830
import 'package:flutter_map_example/pages/tile_builder.dart';
2931
import 'package:flutter_map_example/pages/tile_loading_error_handle.dart';
3032
import 'package:flutter_map_example/pages/wms_tile_layer.dart';
31-
import 'package:flutter_map_example/plugins/plugin_scalebar.dart';
32-
import 'package:flutter_map_example/plugins/plugin_zoombuttons.dart';
3333
import 'package:url_strategy/url_strategy.dart';
3434

3535
void main() {

‎example/lib/pages/map_inside_listview.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:flutter/material.dart';
22
import 'package:flutter_map/flutter_map.dart';
33
import 'package:flutter_map_example/misc/tile_providers.dart';
4-
import 'package:flutter_map_example/plugins/zoombuttons_plugin_option.dart';
4+
import 'package:flutter_map_example/plugins/zoombuttons_plugin.dart';
55
import 'package:flutter_map_example/widgets/drawer/menu_drawer.dart';
66
import 'package:latlong2/latlong.dart';
77

‎example/lib/plugins/plugin_scalebar.dart ‎example/lib/pages/plugin_scalebar.dart

+6-8
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:flutter/material.dart';
22
import 'package:flutter_map/flutter_map.dart';
33
import 'package:flutter_map_example/misc/tile_providers.dart';
4-
import 'package:flutter_map_example/pages/scale_layer_plugin_option.dart';
4+
import 'package:flutter_map_example/plugins/scale_layer_plugin_option.dart';
55
import 'package:flutter_map_example/widgets/drawer/menu_drawer.dart';
66
import 'package:latlong2/latlong.dart';
77

@@ -23,13 +23,11 @@ class PluginScaleBar extends StatelessWidget {
2323
),
2424
children: [
2525
openStreetMapTileLayer,
26-
ScaleLayerWidget(
27-
options: ScaleLayerPluginOption(
28-
lineColor: Colors.black,
29-
lineWidth: 3,
30-
textStyle: const TextStyle(color: Colors.black, fontSize: 14),
31-
padding: const EdgeInsets.all(10),
32-
),
26+
const FlutterMapScaleLayer(
27+
lineColor: Colors.black,
28+
lineWidth: 3,
29+
textStyle: TextStyle(color: Colors.black, fontSize: 14),
30+
padding: EdgeInsets.all(10),
3331
),
3432
],
3533
),

‎example/lib/plugins/plugin_zoombuttons.dart ‎example/lib/pages/plugin_zoombuttons.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:flutter/material.dart';
22
import 'package:flutter_map/flutter_map.dart';
33
import 'package:flutter_map_example/misc/tile_providers.dart';
4-
import 'package:flutter_map_example/plugins/zoombuttons_plugin_option.dart';
4+
import 'package:flutter_map_example/plugins/zoombuttons_plugin.dart';
55
import 'package:flutter_map_example/widgets/drawer/menu_drawer.dart';
66
import 'package:latlong2/latlong.dart';
77

‎example/lib/pages/scale_layer_plugin_option.dart ‎example/lib/plugins/scale_layer_plugin_option.dart

+22-28
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,9 @@ import 'dart:ui' as ui;
33

44
import 'package:flutter/material.dart';
55
import 'package:flutter_map/flutter_map.dart';
6-
import 'package:flutter_map_example/pages/scalebar_utils.dart';
6+
import 'package:flutter_map_example/plugins/scalebar_utils.dart';
77

8-
class ScaleLayerPluginOption {
9-
TextStyle? textStyle;
10-
Color lineColor;
11-
double lineWidth;
12-
final EdgeInsets? padding;
13-
14-
ScaleLayerPluginOption({
15-
this.textStyle,
16-
this.lineColor = Colors.white,
17-
this.lineWidth = 2,
18-
this.padding,
19-
});
20-
}
21-
22-
class ScaleLayerWidget extends StatelessWidget {
23-
final ScaleLayerPluginOption options;
8+
class FlutterMapScaleLayer extends StatelessWidget {
249
static const scale = <int>[
2510
25000000,
2611
15000000,
@@ -46,18 +31,27 @@ class ScaleLayerWidget extends StatelessWidget {
4631
10,
4732
5
4833
];
34+
final TextStyle? textStyle;
35+
final Color lineColor;
36+
final double lineWidth;
37+
final EdgeInsets? padding;
4938

50-
const ScaleLayerWidget({super.key, required this.options});
39+
const FlutterMapScaleLayer({
40+
super.key,
41+
this.textStyle,
42+
this.lineColor = Colors.white,
43+
this.lineWidth = 2,
44+
this.padding,
45+
});
5146

5247
@override
5348
Widget build(BuildContext context) {
54-
final map = MapCamera.of(context);
55-
final zoom = map.zoom;
56-
final distance = scale[max(0, min(20, zoom.round() + 2))].toDouble();
57-
final center = map.center;
58-
final start = map.project(center);
49+
final camera = MapCamera.of(context);
50+
final distance = scale[max(0, min(20, camera.zoom.round() + 2))].toDouble();
51+
final center = camera.center;
52+
final start = camera.project(center);
5953
final targetPoint = calculateEndingGlobalCoordinates(center, 90, distance);
60-
final end = map.project(targetPoint);
54+
final end = camera.project(targetPoint);
6155
final displayDistance = distance > 999
6256
? '${(distance / 1000).toStringAsFixed(0)} km'
6357
: '${distance.toStringAsFixed(0)} m';
@@ -69,10 +63,10 @@ class ScaleLayerWidget extends StatelessWidget {
6963
painter: ScalePainter(
7064
width,
7165
displayDistance,
72-
lineColor: options.lineColor,
73-
lineWidth: options.lineWidth,
74-
padding: options.padding,
75-
textStyle: options.textStyle,
66+
lineColor: lineColor,
67+
lineWidth: lineWidth,
68+
padding: padding,
69+
textStyle: textStyle,
7670
),
7771
);
7872
},
File renamed without changes.

‎example/lib/widgets/drawer/menu_drawer.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import 'package:flutter_map_example/pages/map_inside_listview.dart';
1717
import 'package:flutter_map_example/pages/markers.dart';
1818
import 'package:flutter_map_example/pages/moving_markers.dart';
1919
import 'package:flutter_map_example/pages/overlay_image.dart';
20+
import 'package:flutter_map_example/pages/plugin_scalebar.dart';
21+
import 'package:flutter_map_example/pages/plugin_zoombuttons.dart';
2022
import 'package:flutter_map_example/pages/polygon.dart';
2123
import 'package:flutter_map_example/pages/polyline.dart';
2224
import 'package:flutter_map_example/pages/reset_tile_layer.dart';
@@ -28,8 +30,6 @@ import 'package:flutter_map_example/pages/stateful_markers.dart';
2830
import 'package:flutter_map_example/pages/tile_builder.dart';
2931
import 'package:flutter_map_example/pages/tile_loading_error_handle.dart';
3032
import 'package:flutter_map_example/pages/wms_tile_layer.dart';
31-
import 'package:flutter_map_example/plugins/plugin_scalebar.dart';
32-
import 'package:flutter_map_example/plugins/plugin_zoombuttons.dart';
3333
import 'package:flutter_map_example/widgets/drawer/menu_item.dart';
3434

3535
class MenuDrawer extends StatelessWidget {

0 commit comments

Comments
 (0)