33 lines
816 B
JavaScript
33 lines
816 B
JavaScript
import { Control } from "ol/control.js";
|
|
|
|
/**
|
|
* @module newButton
|
|
*/
|
|
|
|
/** Extends OpenLayers default Control class to provide button for pin creation process
|
|
* @extends ol.control.Control
|
|
*/
|
|
class ButtonControl extends Control {
|
|
constructor(opt_options) {
|
|
const options = opt_options || {};
|
|
|
|
const button = document.createElement("button");
|
|
button.textContent = "New";
|
|
button.addEventListener("click", newButtonHandler, false);
|
|
|
|
function newButtonHandler() {
|
|
window.ReactNativeWebView?.postMessage("new pin start");
|
|
}
|
|
|
|
const element = document.createElement("div");
|
|
element.className = "new-button ol-unselectable ol-control";
|
|
element.appendChild(button);
|
|
|
|
super({
|
|
element: element,
|
|
target: options.target,
|
|
});
|
|
}
|
|
}
|
|
|
|
export default ButtonControl;
|