maplair
Version:
JavaScript library for mobile-friendly interactive maps
37 lines (36 loc) • 981 B
JavaScript
import { Point } from "../../geometry/Point.js";
import { Icon } from "./Icon.js";
//#region src/layer/marker/DivIcon.js
var DivIcon = class DivIcon extends Icon {
static {
this.setDefaultOptions({
iconSize: [12, 12],
html: false,
bgPos: null,
className: "maplair-div-icon"
});
}
constructor(...args) {
super(...args);
this.callInitHooks(DivIcon);
}
createIcon(oldIcon) {
const div = oldIcon && oldIcon.tagName === "DIV" ? oldIcon : document.createElement("div"), options = this.options;
if (options.html instanceof Element) {
div.replaceChildren();
div.appendChild(options.html);
} else div.innerHTML = options.html !== false ? options.html : "";
if (options.bgPos) {
const bgPos = new Point(options.bgPos);
div.style.backgroundPosition = `${-bgPos.x}px ${-bgPos.y}px`;
}
this._setIconStyles(div, "icon");
return div;
}
createShadow() {
return null;
}
};
//#endregion
export { DivIcon };
//# sourceMappingURL=DivIcon.js.map