import "leaflet-measure-path";
import "leaflet-measure-path/leaflet-measure-path.css";
import "leaflet-editable";
fullscreenElement() {
var fullscreenEle =
document.fullscreenElement ||
document.mozFullScreenElement ||
document.webkitFullscreenElement;
return fullscreenEle;
},
showFullscreen(fullscreen) {
if (fullscreen) {
this.isfullsereen = true;
var element = document.getElementById("myMap");
var requestMethod =
element.requestFullScreen ||
element.webkitRequestFullScreen ||
element.mozRequestFullScreen ||
element.msRequestFullScreen;
if (requestMethod) {
requestMethod.call(element);
} else if (typeof window.ActiveXObject !== "undefined") {
var wscript = new ActiveXObject("WScript.Shell");
if (wscript !== null) {
wscript.SendKeys("{F11}");
}
}
} else {
this.isfullsereen = false;
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}
},
onToolbarClick(type) {
let self = this;
switch (type) {
case "zoomIn":
this.omap.zoomOut();
break;
case "zoomOut":
this.omap.zoomIn();
break;
case "fullextent":
this.showFullscreen(true);
break;
case "measure-line":
case "gon":
this.isCanClickPipePoint = false;
this.isCanClickPipeLine = false;
this.omap.getContainer().style.cursor = "";
let feature =
type == "measure-line"
? this.omap.editTools.startPolyline()
: this.omap.editTools.startPolygon();
feature.addTo(this.measureLayer);
let tempPolyline = null;
feature.on("editable:drawing:move editable:vertex:drag", (e) => {
if (tempPolyline != null) {
}
let latlngs = feature._latlngs;
let latlng = latlngs[latlngs.length - 1];
let latlng2 = e.latlng;
let nlatlngs = [latlng, latlng2];
let lyrs = self.omap._layers;
for (var key in lyrs) {
let lyr = lyrs[key];
if (lyr._latlngs && lyr._latlngs.length == 2) {
lyr.showMeasurements();
lyr.updateMeasurements();
}
}
feature.showMeasurements();
feature.updateMeasurements();
});
feature.on("editable:drawing:commit", () => {
console.log("click");
feature.showMeasurements();
feature.updateMeasurements();
feature.disableEdit();
});
break;
case "reset":
this.measureLayer.clearLayers();
this.omap.removeLayer(this.drawFreePolyLine);
break;
case "pen":
this.omap.getContainer().style.cursor = "";
this.drawFreeLine();
break;
}
},