|
|
|
@ -5,20 +5,28 @@ import { Sidebar } from "../modules/Sidebar/Sidebar";
|
|
|
|
import { pointLayer } from "./layers-config";
|
|
|
|
import { pointLayer } from "./layers-config";
|
|
|
|
import { Layers } from "./Layers";
|
|
|
|
import { Layers } from "./Layers";
|
|
|
|
import { MapPopup } from "./Popup";
|
|
|
|
import { MapPopup } from "./Popup";
|
|
|
|
import {
|
|
|
|
import { MaplibreExportControl } from "@watergis/maplibre-gl-export";
|
|
|
|
DPI,
|
|
|
|
import { Basemap } from "./Basemap";
|
|
|
|
Format,
|
|
|
|
|
|
|
|
MaplibreExportControl,
|
|
|
|
|
|
|
|
PageOrientation,
|
|
|
|
|
|
|
|
Size,
|
|
|
|
|
|
|
|
} from "@watergis/maplibre-gl-export";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const MAP_TILER_KEY = "hE7PBueqYiS7hKSYUXP9";
|
|
|
|
// const MAP_TILER_KEY = "hE7PBueqYiS7hKSYUXP9";
|
|
|
|
|
|
|
|
|
|
|
|
const ExportControl = (props) => {
|
|
|
|
const ExportControl = (props) => {
|
|
|
|
useControl(() => new MaplibreExportControl(props), {
|
|
|
|
const control = useRef(null);
|
|
|
|
position: props.position,
|
|
|
|
|
|
|
|
});
|
|
|
|
useControl(
|
|
|
|
|
|
|
|
() => {
|
|
|
|
|
|
|
|
const controlInstance = new MaplibreExportControl(props);
|
|
|
|
|
|
|
|
control.current = controlInstance;
|
|
|
|
|
|
|
|
return controlInstance;
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
position: props.position,
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// useEffect(() => {
|
|
|
|
|
|
|
|
// console.log(control.current);
|
|
|
|
|
|
|
|
// }, []);
|
|
|
|
|
|
|
|
|
|
|
|
return null;
|
|
|
|
return null;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
@ -75,12 +83,12 @@ export const MapComponent = () => {
|
|
|
|
return (
|
|
|
|
return (
|
|
|
|
<Map
|
|
|
|
<Map
|
|
|
|
mapLib={maplibregl}
|
|
|
|
mapLib={maplibregl}
|
|
|
|
mapStyle={`https://api.maptiler.com/maps/voyager/style.json?key=${MAP_TILER_KEY}`}
|
|
|
|
// mapStyle={`https://api.maptiler.com/maps/voyager/style.json?key=${MAP_TILER_KEY}`}
|
|
|
|
style={{ width: "100vw", height: "100vh" }}
|
|
|
|
style={{ width: "100vw", height: "100vh" }}
|
|
|
|
initialViewState={{
|
|
|
|
initialViewState={{
|
|
|
|
latitude: 55.7558,
|
|
|
|
latitude: 55.7558,
|
|
|
|
longitude: 37.6173,
|
|
|
|
longitude: 37.6173,
|
|
|
|
zoom: 10,
|
|
|
|
zoom: 9,
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
ref={mapRef}
|
|
|
|
ref={mapRef}
|
|
|
|
interactiveLayerIds={[pointLayer.id, "grid3", "grid4", "grid5"]}
|
|
|
|
interactiveLayerIds={[pointLayer.id, "grid3", "grid4", "grid5"]}
|
|
|
|
@ -90,10 +98,10 @@ export const MapComponent = () => {
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<ExportControl
|
|
|
|
<ExportControl
|
|
|
|
position="top-left"
|
|
|
|
position="top-left"
|
|
|
|
PageSize={Size.A4}
|
|
|
|
// PageSize={Size.A4}
|
|
|
|
PageOrientation={PageOrientation.Landscape}
|
|
|
|
// PageOrientation={PageOrientation.Landscape}
|
|
|
|
Format={Format.PNG}
|
|
|
|
// Format={Format.PNG}
|
|
|
|
DPI={DPI[200]}
|
|
|
|
// DPI={DPI[200]}
|
|
|
|
Crosshair={true}
|
|
|
|
Crosshair={true}
|
|
|
|
PrintableArea={true}
|
|
|
|
PrintableArea={true}
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
@ -109,6 +117,7 @@ export const MapComponent = () => {
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
)}
|
|
|
|
)}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Basemap />
|
|
|
|
<Layers />
|
|
|
|
<Layers />
|
|
|
|
|
|
|
|
|
|
|
|
<Sidebar />
|
|
|
|
<Sidebar />
|
|
|
|
|