Files
wtyczka-zms/js/functions/mpzp.js

99 lines
2.9 KiB
JavaScript

const mpzpIcon = document.createElement("img");
function mpzpButtonClick() {
mpzpIcon.src = chrome.runtime.getURL("icons/loading.gif");
const canvas = document.getElementsByClassName("ol-unselectable")[0];
const ctx = canvas.getContext("2d");
const height = canvas.height;
const width = canvas.width;
let XMIN = MapData.X_MIN;
let YMIN = MapData.Y_MIN;
let XMAX = MapData.X_MAX;
let YMAX = MapData.Y_MAX;
let URL = `https://epsg.io/trans?data=${XMIN},${YMIN};${XMAX},${YMAX}&s_srs=2177&t_srs=2180`;
fetch(URL, {
method: "GET",
})
.then((response) => response.json())
.then((data) => {
let NXMIN = data[0].x;
let NYMIN = data[0].y;
let NXMAX = data[1].x;
let NYMAX = data[1].y;
getGmina(width, height, NXMIN, NYMIN, NXMAX, NYMAX).then((gmina) => {
console.log(gmina);
if (gmina == "Chełmiec") {
mpzpButton.style.background = "teal";
mpzpIcon.src = chrome.runtime.getURL("icons/mpzp.png");
console.log(NXMIN, NYMIN)
port.postMessage({
response: "getChelmiec",
XMIN: NXMIN,
YMIN: NYMIN,
XMAX: NXMAX,
YMAX: NYMAX,
});
return;
}
if (gmina == "Łososina Dolna") {
mpzpButton.style.background = "blue";
mpzpIcon.src = chrome.runtime.getURL("icons/mpzp.png");
console.log(NXMIN, NYMIN)
port.postMessage({
response: "getLososina",
XMIN: NXMIN,
YMIN: NYMIN,
XMAX: NXMAX,
YMAX: NYMAX,
});
return;
}
if (gmina == "Nawojowa") {
mpzpButton.style.background = "lime";
mpzpIcon.src = chrome.runtime.getURL("icons/mpzp.png");
let X = Number(XMIN) + Math.abs((XMAX - XMIN) / 2);
let Y = Number(YMIN) + Math.abs((YMAX - YMIN) / 2);
let URL = `https://epsg.io/trans?data=${X},${Y}&s_srs=2177&t_srs=4258`;
fetch(URL, {
method: "GET",
})
.then((response) => response.json())
.then((data) => {
port.postMessage({
response: "getNawojowa",
X: data.y,
Y: data.x,
});
return;
})
}
var img = new Image();
img.onload = function () {
ctx.drawImage(img, 0, 0, width, height);
mpzpIcon.src = chrome.runtime.getURL("icons/mpzp.png");
console.log("LO");
mpzpButton.style.background = "none";
};
img.onerror = function () {
mpzpIcon.src = chrome.runtime.getURL("icons/mpzp.png");
mpzpButton.style.background = "pink";
};
img.src = `
https://mapy.geoportal.gov.pl/wss/ext/KrajowaIntegracjaMiejscowychPlanowZagospodarowaniaPrzestrzennego?REQUEST=GetMap&TRANSPARENT=TRUE&FORMAT=image%2Fpng&VERSION=1.3.0&LAYERS=raster%2Cwektor-str%2Cwektor-lzb%2Cwektor-pow%2Cwektor-lin%2Cwektor-pkt%2Cgranice&STYLES=%2C%2C%2C%2C%2C%2C&EXCEPTIONS=xml&BBOX=${NYMIN}%2C${NXMIN}%2C${NYMAX}%2C${NXMAX}&CRS=EPSG%3A2180&WIDTH=${width}&HEIGHT=${height}&SERVICE=WMS
`;
console.log("EN");
mpzpButton.style.background = "none";
});
});
}