Skip to content

Commit ceadf48

Browse files
committed
load vector tiles from style only
1 parent 6ab3694 commit ceadf48

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

swiss_locator/core/filters/swiss_locator_filter.py

+9-2
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
QgsFeedback,
4646
QgsRasterLayer,
4747
QgsVectorTileLayer,
48+
QgsVectorTileUtils,
4849
)
4950
from qgis.gui import QgsRubberBand, QgisInterface
5051

@@ -440,8 +441,9 @@ def triggerResult(self, result: QgsLocatorResult):
440441
# Vector tiles
441442
elif type(swiss_result) == VectorTilesLayerResult:
442443
params = dict()
443-
params["styleUrl"] = swiss_result.style or ""
444-
params["url"] = swiss_result.url
444+
params["styleUrl"] = swiss_result.style
445+
if Qgis.QGIS_VERSION_INT < 33900:
446+
params["url"] = swiss_result.url
445447
params["type"] = "xyz"
446448
# Max and min zoom levels cound be retrieved from metadata JSON files like:
447449
# https://vectortiles.geo.admin.ch/tiles/ch.swisstopo.base.vt/v1.0.0/tiles.json
@@ -451,6 +453,11 @@ def triggerResult(self, result: QgsLocatorResult):
451453

452454
url_with_params = "&".join([f"{k}={v}" for (k, v) in params.items()])
453455

456+
if Qgis.QGIS_VERSION_INT >= 33900:
457+
url_with_params = QgsVectorTileUtils.updateUriSources(
458+
url_with_params, True
459+
)
460+
454461
self.info(f"Loading layer: {url_with_params}")
455462
ch_layer = QgsVectorTileLayer(url_with_params, result.displayString)
456463

swiss_locator/core/results.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ def __init__(
132132
self,
133133
layer,
134134
title,
135-
url,
135+
url: str = None,
136136
style: str = None,
137137
):
138138
self.title = title

0 commit comments

Comments
 (0)