Skip to content

Commit 22a9d55

Browse files
authored
add more styles to example app (#354)
1 parent f39eaa7 commit 22a9d55

15 files changed

+272
-153
lines changed

example/integration_test/controller_test.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
66
import 'package:flutter_test/flutter_test.dart';
77
import 'package:integration_test/integration_test.dart';
88
import 'package:maplibre/maplibre.dart';
9-
import 'package:maplibre_example/map_styles.dart';
9+
import 'package:maplibre_example/utils/map_styles.dart';
1010

1111
import 'app.dart';
1212

@@ -392,10 +392,10 @@ void main() {
392392
App(
393393
onMapCreated: ctrlCompleter.complete,
394394
onStyleLoaded: styleCompleter.complete,
395-
options: const MapOptions(
396-
initCenter: Geographic(lon: 0.1, lat: 0.1),
395+
options: MapOptions(
396+
initCenter: const Geographic(lon: 0.1, lat: 0.1),
397397
initZoom: 14,
398-
initStyle: MapStyles.maptilerStreets,
398+
initStyle: MapStyles.openMapTilesStreets.uri,
399399
),
400400
),
401401
);
@@ -722,10 +722,10 @@ void main() {
722722
final app = App(
723723
onMapCreated: ctrlCompleter.complete,
724724
onStyleLoaded: styleCompleter.complete,
725-
options: const MapOptions(
726-
initCenter: Geographic(lon: 0, lat: 0),
725+
options: MapOptions(
726+
initCenter: const Geographic(lon: 0, lat: 0),
727727
initZoom: 10,
728-
initStyle: MapStyles.protomapsLight,
728+
initStyle: MapStyles.protomapsLight.uri,
729729
),
730730
);
731731
await tester.pumpWidget(app);

example/integration_test/map_camera_test.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,20 @@ import 'dart:async';
33
import 'package:flutter_test/flutter_test.dart';
44
import 'package:integration_test/integration_test.dart';
55
import 'package:maplibre/maplibre.dart';
6-
import 'package:maplibre_example/map_styles.dart';
6+
import 'package:maplibre_example/utils/map_styles.dart';
77

88
import 'app.dart';
99

1010
void main() {
1111
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
1212
group('MapCamera', () {
1313
testWidgets('get from map', (tester) async {
14-
const options = MapOptions(
14+
final options = MapOptions(
1515
minZoom: 1,
1616
maxZoom: 2,
1717
initZoom: 1,
18-
initCenter: Geographic(lon: 1, lat: 2),
19-
initStyle: MapStyles.protomapsLight,
18+
initCenter: const Geographic(lon: 1, lat: 2),
19+
initStyle: MapStyles.protomapsLight.uri,
2020
);
2121
final completer = Completer<MapController>();
2222
await tester.pumpWidget(

example/integration_test/map_options_test.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,20 @@ import 'dart:async';
33
import 'package:flutter_test/flutter_test.dart';
44
import 'package:integration_test/integration_test.dart';
55
import 'package:maplibre/maplibre.dart';
6-
import 'package:maplibre_example/map_styles.dart';
6+
import 'package:maplibre_example/utils/map_styles.dart';
77

88
import 'app.dart';
99

1010
void main() {
1111
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
1212
group('MapOptions', () {
1313
testWidgets('get from map', (tester) async {
14-
const options = MapOptions(
14+
final options = MapOptions(
1515
minZoom: 1,
1616
maxZoom: 2,
1717
initZoom: 1,
18-
initCenter: Geographic(lon: 1, lat: 2),
19-
initStyle: MapStyles.protomapsLight,
18+
initCenter: const Geographic(lon: 1, lat: 2),
19+
initStyle: MapStyles.protomapsLight.uri,
2020
);
2121
final completer = Completer<MapController>();
2222
await tester.pumpWidget(

example/integration_test/style_test.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import 'dart:async';
33
import 'package:flutter_test/flutter_test.dart';
44
import 'package:integration_test/integration_test.dart';
55
import 'package:maplibre/maplibre.dart';
6-
import 'package:maplibre_example/map_styles.dart';
6+
import 'package:maplibre_example/utils/map_styles.dart';
77

88
import 'app.dart';
99

@@ -16,9 +16,9 @@ void main() {
1616
final app = App(
1717
onMapCreated: controller.complete,
1818
onStyleLoaded: style.complete,
19-
options: const MapOptions(
20-
initCenter: Geographic(lon: 0, lat: 0),
21-
initStyle: MapStyles.countries,
19+
options: MapOptions(
20+
initCenter: const Geographic(lon: 0, lat: 0),
21+
initStyle: MapStyles.countries.uri,
2222
),
2323
);
2424
await tester.pumpWidget(app);
@@ -34,9 +34,9 @@ void main() {
3434
final app = App(
3535
onMapCreated: controller.complete,
3636
onStyleLoaded: style.complete,
37-
options: const MapOptions(
38-
initCenter: Geographic(lon: 0, lat: 0),
39-
initStyle: MapStyles.maptilerStreets,
37+
options: MapOptions(
38+
initCenter: const Geographic(lon: 0, lat: 0),
39+
initStyle: MapStyles.openMapTilesStreets.uri,
4040
),
4141
);
4242
await tester.pumpWidget(app);

example/lib/map_styles.dart

Lines changed: 0 additions & 71 deletions
This file was deleted.

example/lib/menu_page.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ class MenuPage extends StatelessWidget {
4949
childAspectRatio: 1.5,
5050
children: [
5151
const ItemCard(
52-
label: 'Styled Map',
53-
iconData: Icons.map,
52+
label: 'Map Styles',
53+
iconData: Icons.color_lens,
5454
location: StyledMapPage.location,
5555
),
5656
const ItemCard(

example/lib/offline_page.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import 'dart:io';
22

33
import 'package:flutter/material.dart';
44
import 'package:maplibre/maplibre.dart';
5-
import 'package:maplibre_example/map_styles.dart';
5+
import 'package:maplibre_example/utils/map_styles.dart';
66

77
@immutable
88
class OfflinePage extends StatefulWidget {
@@ -54,7 +54,7 @@ class _OfflinePageState extends State<OfflinePage> {
5454
minZoom: 0,
5555
maxZoom: 2,
5656
bounds: _boundsWorld,
57-
mapStyleUrl: MapStyles.protomapsLight,
57+
mapStyleUrl: MapStyles.protomapsLight.uri,
5858
pixelDensity: 1,
5959
);
6060
try {
@@ -114,7 +114,7 @@ class _OfflinePageState extends State<OfflinePage> {
114114
minZoom: 10,
115115
maxZoom: 14,
116116
bounds: _boundsBregenz,
117-
mapStyleUrl: MapStyles.protomapsLight,
117+
mapStyleUrl: MapStyles.protomapsLight.uri,
118118
pixelDensity: 1,
119119
);
120120
try {
@@ -325,7 +325,7 @@ class _OfflineMapPage extends StatelessWidget {
325325
appBar: AppBar(title: Text('Offline Map "$title"')),
326326
body: MapLibreMap(
327327
options: MapOptions(
328-
initStyle: MapStyles.protomapsLight,
328+
initStyle: MapStyles.protomapsLight.uri,
329329
maxBounds: bounds,
330330
initCenter: center,
331331
initZoom: zoom,

example/lib/pmtiles_page.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:flutter/material.dart';
22
import 'package:flutter/services.dart';
33
import 'package:maplibre/maplibre.dart';
4-
import 'package:maplibre_example/map_styles.dart';
4+
import 'package:maplibre_example/utils/map_styles.dart';
55

66
@immutable
77
class PmTilesPage extends StatefulWidget {
@@ -15,7 +15,7 @@ class PmTilesPage extends StatefulWidget {
1515

1616
class _PmTilesPageState extends State<PmTilesPage> {
1717
final Future<String> _futureStyle = rootBundle.loadString(
18-
MapStyles.protomapsLightPmTiles,
18+
MapStyles.protomapsLightPmTiles.uri,
1919
);
2020

2121
@override
@@ -32,16 +32,16 @@ class _PmTilesPageState extends State<PmTilesPage> {
3232
return Scaffold(
3333
appBar: AppBar(title: const Text('PMTiles')),
3434
body: MapLibreMap(
35-
options: const MapOptions(
36-
initCenter: Geographic(lon: 11.254343, lat: 43.767213),
37-
maxBounds: LngLatBounds(
35+
options: MapOptions(
36+
initCenter: const Geographic(lon: 11.254343, lat: 43.767213),
37+
maxBounds: const LngLatBounds(
3838
longitudeWest: 11.221144,
3939
longitudeEast: 11.287543,
4040
latitudeSouth: 43.745121,
4141
latitudeNorth: 43.789306,
4242
),
4343
initZoom: 10,
44-
initStyle: MapStyles.protomapsLightPmTiles,
44+
initStyle: MapStyles.protomapsLightPmTiles.uri,
4545
),
4646
children: const [
4747
MapScalebar(),

example/lib/style_layers_fill_extrusion_page.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'package:flutter/material.dart';
22
import 'package:maplibre/maplibre.dart';
3-
import 'package:maplibre_example/map_styles.dart';
3+
import 'package:maplibre_example/utils/map_styles.dart';
44

55
@immutable
66
class StyleLayersFillExtrusionPage extends StatefulWidget {
@@ -22,12 +22,12 @@ class _StyleLayersFillExtrusionPageState
2222
return Scaffold(
2323
appBar: AppBar(title: const Text('Fill Extrusion Style Layer')),
2424
body: MapLibreMap(
25-
options: const MapOptions(
26-
initCenter: Geographic(lon: -87.61694, lat: 41.86625),
25+
options: MapOptions(
26+
initCenter: const Geographic(lon: -87.61694, lat: 41.86625),
2727
initZoom: 15.99,
2828
initPitch: 40,
2929
initBearing: 20,
30-
initStyle: MapStyles.protomapsLight,
30+
initStyle: MapStyles.protomapsLight.uri,
3131
),
3232
onStyleLoaded: _onStyleLoaded,
3333
),

example/lib/styled_map_page.dart

Lines changed: 12 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'package:flutter/material.dart';
22
import 'package:maplibre/maplibre.dart';
3-
import 'package:maplibre_example/map_styles.dart';
3+
import 'package:maplibre_example/utils/map_styles.dart';
4+
import 'package:maplibre_example/utils/style_dropdown.dart';
45

56
@immutable
67
class StyledMapPage extends StatefulWidget {
@@ -13,56 +14,31 @@ class StyledMapPage extends StatefulWidget {
1314
}
1415

1516
class _StyledMapPageState extends State<StyledMapPage> {
16-
static const Map<String, String> _styles = {
17-
'MapTiler Streets': MapStyles.maptilerStreets,
18-
'Protomaps Light': MapStyles.protomapsLight,
19-
'Protomaps Dark': MapStyles.protomapsDark,
20-
'Countries': MapStyles.countries,
21-
};
22-
String _styleUrl = _styles.values.first;
17+
MapStyles _style = StyleDropdown.initStyle;
2318
late MapController _controller;
2419

2520
@override
2621
Widget build(BuildContext context) {
2722
return Scaffold(
2823
appBar: AppBar(
29-
title: const Text('Styled Map'),
24+
title: const Text('Map Styles'),
3025
bottom: PreferredSize(
3126
preferredSize: const Size.fromHeight(50),
32-
child: Padding(
33-
padding: const EdgeInsets.only(bottom: 16, left: 8, right: 8),
34-
child: SizedBox(
35-
height: 30,
36-
child: ListView(
37-
scrollDirection: Axis.horizontal,
38-
shrinkWrap: true,
39-
children: _styles.entries
40-
.map(
41-
(e) => Padding(
42-
padding: const EdgeInsets.symmetric(horizontal: 2),
43-
child: ChoiceChip(
44-
label: Text(e.key),
45-
selected: _styleUrl == e.value,
46-
onSelected: (value) {
47-
// update the segmented button
48-
setState(() => _styleUrl = e.value);
49-
// apply the new style on the map
50-
_controller.setStyle(_styleUrl);
51-
},
52-
),
53-
),
54-
)
55-
.toList(growable: false),
56-
),
57-
),
27+
child: StyleDropdown(
28+
onChanged: (style) {
29+
// update the segmented button
30+
setState(() => _style = style);
31+
// apply the new style on the map
32+
_controller.setStyle(style.uri);
33+
},
5834
),
5935
),
6036
),
6137
body: MapLibreMap(
6238
options: MapOptions(
6339
initCenter: const Geographic(lon: 9.17, lat: 47.68),
6440
initZoom: 2,
65-
initStyle: _styleUrl,
41+
initStyle: _style.uri,
6642
),
6743
children: const [
6844
MapScalebar(),

0 commit comments

Comments
 (0)