feat: Add Improved Polish Orthophoto Map component with WMTS support

- Introduced ImprovedPolishOrthophotoMap component for displaying Polish orthophoto layers using WMTS.
- Implemented custom WMTSLayer for handling tile requests.
- Added Google Satellite and OpenStreetMap layers for comparison.
- Included debug information for network requests to Geoportal.
- Enhanced LeafletMap to support WMS overlays and improved layer control.
- Created PolishGeoLayers module for easy access to various Polish geospatial layers.
- Added TransparencyDemoMap for adjustable layer opacity controls.
- Updated mapLayers configuration to include new Polish orthophoto layers and WMS overlays.
- Refactored wmtsCapabilities to use updated URLs and parameters for better compatibility.
This commit is contained in:
2025-06-21 01:21:21 +02:00
parent 6df4302396
commit f83cc8e564
25 changed files with 4538 additions and 32 deletions

View File

@@ -3,6 +3,7 @@
import {
MapContainer,
TileLayer,
WMSTileLayer,
Marker,
Popup,
LayersControl,
@@ -80,8 +81,7 @@ export default function EnhancedLeafletMap({
useEffect(() => {
fixLeafletIcons();
}, []);
const { BaseLayer } = LayersControl;
const { BaseLayer, Overlay } = LayersControl;
return (
<MapContainer
center={center}
@@ -94,6 +94,7 @@ export default function EnhancedLeafletMap({
{showLayerControl ? (
<LayersControl position="topright">
{/* Base Layers */}
{mapLayers.base.map((layer, index) => (
<BaseLayer
key={index}
@@ -107,6 +108,32 @@ export default function EnhancedLeafletMap({
tileSize={layer.tileSize || 256}
/>
</BaseLayer>
))}
{/* Overlay Layers */}
{mapLayers.overlays && mapLayers.overlays.map((layer, index) => (
<Overlay
key={`overlay-${index}`}
checked={layer.checked}
name={layer.name}
>
{layer.type === "wms" ? (
<WMSTileLayer
attribution={layer.attribution}
url={layer.url}
params={layer.params}
format={layer.params.format}
transparent={layer.params.transparent}
opacity={layer.opacity}
/>
) : (
<TileLayer
attribution={layer.attribution}
url={layer.url}
maxZoom={layer.maxZoom}
opacity={layer.opacity}
/>
)}
</Overlay>
))}
</LayersControl>
) : (