Skip to content

Commit 57090d0

Browse files
author
Danny van Wijk
committed
[Map] Optional leaflet tilelayer
1 parent 59e840d commit 57090d0

File tree

4 files changed

+27
-12
lines changed

4 files changed

+27
-12
lines changed

src/Map/src/Bridge/Leaflet/assets/dist/map_controller.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,10 +145,12 @@ class map_controller extends default_1 {
145145
center: center === null ? undefined : center,
146146
zoom: zoom === null ? undefined : zoom,
147147
});
148-
L.tileLayer(options.tileLayer.url, {
149-
attribution: options.tileLayer.attribution,
150-
...options.tileLayer.options,
151-
}).addTo(map);
148+
if (options.tileLayer) {
149+
L.tileLayer(options.tileLayer.url, {
150+
attribution: options.tileLayer.attribution,
151+
...options.tileLayer.options,
152+
}).addTo(map);
153+
}
152154
return map;
153155
}
154156
doCreateMarker({ definition }) {

src/Map/src/Bridge/Leaflet/assets/src/map_controller.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,12 @@ export default class extends AbstractMapController<
8181
zoom: zoom === null ? undefined : zoom,
8282
});
8383

84-
L.tileLayer(options.tileLayer.url, {
85-
attribution: options.tileLayer.attribution,
86-
...options.tileLayer.options,
87-
}).addTo(map);
84+
if (options.tileLayer) {
85+
L.tileLayer(options.tileLayer.url, {
86+
attribution: options.tileLayer.attribution,
87+
...options.tileLayer.options,
88+
}).addTo(map);
89+
}
8890

8991
return map;
9092
}

src/Map/src/Bridge/Leaflet/src/LeafletOptions.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@
2020
final class LeafletOptions implements MapOptionsInterface
2121
{
2222
public function __construct(
23-
private TileLayer $tileLayer = new TileLayer(
23+
private TileLayer|false $tileLayer = new TileLayer(
2424
url: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png',
2525
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
2626
),
2727
) {
2828
}
2929

30-
public function tileLayer(TileLayer $tileLayer): self
30+
public function tileLayer(TileLayer|false $tileLayer): self
3131
{
3232
$this->tileLayer = $tileLayer;
3333

@@ -40,7 +40,7 @@ public function tileLayer(TileLayer $tileLayer): self
4040
public static function fromArray(array $array): MapOptionsInterface
4141
{
4242
return new self(
43-
tileLayer: TileLayer::fromArray($array['tileLayer']),
43+
tileLayer: $array['tileLayer'] ? TileLayer::fromArray($array['tileLayer']) : false,
4444
);
4545
}
4646

@@ -50,7 +50,7 @@ public static function fromArray(array $array): MapOptionsInterface
5050
public function toArray(): array
5151
{
5252
return [
53-
'tileLayer' => $this->tileLayer->toArray(),
53+
'tileLayer' => $this->tileLayer ? $this->tileLayer->toArray() : false,
5454
];
5555
}
5656
}

src/Map/src/Bridge/Leaflet/tests/LeafletOptionsTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,15 @@ public function testWithMaximumConfiguration(): void
6262

6363
self::assertEquals($leafletOptions, LeafletOptions::fromArray($leafletOptions->toArray()));
6464
}
65+
66+
public function testWithTileLayerFalse(): void
67+
{
68+
$leafletOptions = new LeafletOptions(tileLayer: false);
69+
70+
self::assertSame([
71+
'tileLayer' => false,
72+
], $leafletOptions->toArray());
73+
74+
self::assertEquals($leafletOptions, LeafletOptions::fromArray($leafletOptions->toArray()));
75+
}
6576
}

0 commit comments

Comments
 (0)