Skip to content

Commit d2deb99

Browse files
authored
feat!: Remove web-only MapOptions.webControls and all WebControl classes (#138)
- [X] Remove web-only MapOptions.webControls - [X] Remove web add control code via interop - [X] Remove WebControl classes - [X] Remove WebControlsPage and its card from MenuPage Closes a task of #113
1 parent 901cdbf commit d2deb99

File tree

10 files changed

+0
-459
lines changed

10 files changed

+0
-459
lines changed

example/lib/main.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import 'package:maplibre_example/styled_map_page.dart';
2525
import 'package:maplibre_example/two_maps_page.dart';
2626
import 'package:maplibre_example/user_interface_page.dart';
2727
import 'package:maplibre_example/user_location_page.dart';
28-
import 'package:maplibre_example/web_controls_page.dart';
2928
import 'package:maplibre_example/widget_layer_page.dart';
3029

3130
void main() {
@@ -71,7 +70,6 @@ class MyApp extends StatelessWidget {
7170
StyleLayersRasterPage.location: (context) =>
7271
const StyleLayersRasterPage(),
7372
StyleLayersLinePage.location: (context) => const StyleLayersLinePage(),
74-
WebControlsPage.location: (context) => const WebControlsPage(),
7573
LayersMixedPage.location: (context) => const LayersMixedPage(),
7674
LayersCirclePage.location: (context) => const LayersCirclePage(),
7775
LayersMarkerPage.location: (context) => const LayersMarkerPage(),

example/lib/menu_page.dart

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import 'package:maplibre_example/styled_map_page.dart';
2424
import 'package:maplibre_example/two_maps_page.dart';
2525
import 'package:maplibre_example/user_interface_page.dart';
2626
import 'package:maplibre_example/user_location_page.dart';
27-
import 'package:maplibre_example/web_controls_page.dart';
2827
import 'package:maplibre_example/widget_layer_page.dart';
2928

3029
class MenuPage extends StatelessWidget {
@@ -63,12 +62,6 @@ class MenuPage extends StatelessWidget {
6362
iconData: Icons.notifications,
6463
location: EventsPage.location,
6564
),
66-
if (kIsWeb)
67-
ItemCard(
68-
label: 'Web Controls',
69-
iconData: Icons.toggle_off,
70-
location: WebControlsPage.location,
71-
),
7265
ItemCard(
7366
label: 'Controller',
7467
iconData: Icons.api,

example/lib/web_controls_page.dart

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

lib/maplibre.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,4 @@ export 'src/ui/map_scalebar.dart';
2222
export 'src/ui/map_zoom_buttons.dart';
2323
export 'src/ui/source_attribution.dart';
2424
export 'src/utils.dart';
25-
export 'src/web_controls.dart';
2625
export 'src/widget_layer.dart';

lib/src/map_options.dart

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ class MapOptions {
1414
@Deprecated('Renamed to initPitch') double? pitch,
1515
double initPitch = 0,
1616
this.initBearing = 0,
17-
this.webControls = const [],
1817
this.minZoom = 0,
1918
this.maxZoom = 22,
2019
this.minPitch = 0,
@@ -57,11 +56,6 @@ class MapOptions {
5756
/// The initial center on the map.
5857
final Position? initCenter;
5958

60-
/// A list of user interface control buttons that should get used.
61-
///
62-
/// Only supported on web.
63-
final List<WebMapControl> webControls;
64-
6559
/// The minimum zoom level. Allowed values are 0-24. Defaults to 0.
6660
final double minZoom;
6761

lib/src/platform/web/interop/controls.dart

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

lib/src/platform/web/interop/interop.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import 'package:maplibre/maplibre.dart';
77
import 'package:web/web.dart';
88

99
part 'camera.dart';
10-
part 'controls.dart';
1110
part 'events.dart';
1211
part 'gesture_handlers.dart';
1312
part 'map.dart';

lib/src/platform/web/interop/map.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ extension type JsMap._(Camera _) implements Camera {
66
/// Create a new MapLibre map.
77
external JsMap(MapOptions options);
88

9-
/// Add a web-only control button to the map.
10-
external void addControl(IControl control);
11-
129
/// https://github.com/maplibre/maplibre-gl-js/blob/76410880f81de2582be073bc2d730b3f4b8f254d/src/ui/map.ts#L1383
1310
external void on(String type, JSExportedDartFunction listener);
1411

lib/src/platform/web/widget_state.dart

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -66,52 +66,6 @@ final class MapLibreMapStateWeb extends MapLibreMapState {
6666
_map.setMaxBounds(options.maxBounds?.toJsLngLatBounds());
6767
_updateGestures(options.gestures);
6868

69-
// add controls
70-
for (final control in options.webControls) {
71-
final jsControl = switch (control) {
72-
final WebScaleControl control => interop.ScaleControl(
73-
interop.ScaleControlOptions(
74-
maxWidth: control.maxWidth,
75-
unit: control.unit.name,
76-
),
77-
),
78-
final WebGeolocateControl control => interop.GeolocateControl(
79-
interop.GeolocateControlOptions(
80-
positionOptions: interop.PositionOptions(
81-
enableHighAccuracy:
82-
control.positionOptions.enableHighAccuracy,
83-
maximumAge:
84-
control.positionOptions.maximumAge.inMilliseconds,
85-
timeout: control.positionOptions.timeout.inMilliseconds,
86-
),
87-
),
88-
),
89-
final WebAttributionControl control => interop.AttributionControl(
90-
interop.AttributionControlOptions(
91-
compact: control.compact,
92-
customAttribution: control.customAttribution,
93-
),
94-
),
95-
final WebFullscreenControl _ => interop.FullscreenControl(
96-
interop.FullscreenControlOptions(),
97-
),
98-
final WebLogoControl control => interop.LogoControl(
99-
interop.LogoControlOptions(compact: control.compact),
100-
),
101-
final WebNavigationControl control => interop.NavigationControl(
102-
interop.NavigationControlOptions(
103-
showCompass: control.showCompass,
104-
showZoom: control.showZoom,
105-
visualizePitch: control.visualizePitch,
106-
),
107-
),
108-
final WebTerrainControl control => interop.TerrainControl(
109-
interop.TerrainControlOptions(source: control.source),
110-
),
111-
};
112-
_map.addControl(jsControl);
113-
}
114-
11569
// add callbacks
11670
_map.on(
11771
interop.MapEventType.load,

0 commit comments

Comments
 (0)