@mint-ui/map
Version:
- React map library - Control various map with one interface - Google, Naver, Kakao map supported now - Typescript supported - Canvas marker supported
55 lines (43 loc) • 1.55 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
//scaling
var scaleCanvas = function (controller, canvasElement, canvasContext) {
var devicePixelRatio = window.devicePixelRatio;
var container = controller.mapDivElement;
var width = container.offsetWidth;
var height = container.offsetHeight;
canvasElement.width = width * devicePixelRatio;
canvasElement.height = height * devicePixelRatio;
canvasElement.style.width = "".concat(width, "px");
canvasElement.style.height = "".concat(height, "px");
canvasContext.scale(devicePixelRatio, devicePixelRatio);
}; //clear rect
var clearRect = function (canvas, context) {
if (canvas && context) {
context.clearRect(canvas.width * -1, canvas.height * -1, canvas.width * 3, canvas.height * 3);
}
return true;
};
function renderMain(controller, renderer, container, canvas, context, data) {
if (!container || !canvas || !context || !data) {
return;
} //all clear
clearRect(canvas, context); //draw
data.forEach(function (item) {
var _a; // 그리기 대상이면
if (item.visible === undefined || item.visible) {
//위치 변환
var offset = ((_a = item.position) === null || _a === void 0 ? void 0 : _a.map(function (pos) {
return controller.positionToOffset(pos);
})) || []; //그리기
renderer({
context: context,
offset: offset,
payload: item
});
}
});
}
exports.clearRect = clearRect;
exports.renderMain = renderMain;
exports.scaleCanvas = scaleCanvas;