99 lines
2.9 KiB
JavaScript
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";
|
|
});
|
|
});
|
|
}
|