From 0a0080a207a39e51a30a23a41c2054e842f36dae Mon Sep 17 00:00:00 2001 From: wangqi <magical1908@outlook.com> Date: 星期二, 06 四月 2021 18:21:27 +0800 Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop --- src/components/plugin/MakeTation.js | 76 +++++++++++++++++++++++++++++++++++-- 1 files changed, 71 insertions(+), 5 deletions(-) diff --git a/src/components/plugin/MakeTation.js b/src/components/plugin/MakeTation.js index 5bc8ac3..311f7c9 100644 --- a/src/components/plugin/MakeTation.js +++ b/src/components/plugin/MakeTation.js @@ -2,12 +2,14 @@ // 娣诲姞鏂囧瓧鏍囨敞 var TextAnnotation = { points: [], - color: 'yellow', + color: '', L: null, map: null, layers: null, polyline: null, marker: null, + changeColor: '', + changeContent: '', init: function (map, L) { // console.log(L) TextAnnotation.L = L @@ -18,11 +20,20 @@ TextAnnotation.layers = L.layerGroup() map.on('click', TextAnnotation.click).on('dblclick', TextAnnotation.dblclick) }, + // 璁剧疆鏀瑰彉鏂囧瓧鍐呭 + setContent: function (changeContent) { + // console.log(changeContent) + TextAnnotation.changeContent = changeContent + }, + // 璁剧疆鏀瑰彉鏂囧瓧棰滆壊 + setColor: function (changeColor) { + // console.log(changeColor) + TextAnnotation.changeColor = changeColor + }, click: function (e) { - // console.log(e) - let contents = 'bouncedText' + // console.log(TextAnnotation.changeContent) let labIcon = L.divIcon({ - html: '<div style="color: red;font-size: 18px;">' + contents + '</div>', + html: '<div style="color:' + TextAnnotation.changeColor + ';font-size: 18px;">' + TextAnnotation.changeContent + '</div>', iconSize: [100, 40], iconAnchor: [0, 0], className: '' @@ -46,14 +57,69 @@ } } +// 娣诲姞 鐐� 鐨勬爣娉� +let pointAnnotation = { + points: [], + color: '', + L: null, + map: null, + layers: null, + polyline: null, + marker: null, + init: function (map, L) { + pointAnnotation.L = L + pointAnnotation.map = map + pointAnnotation.points = [] + pointAnnotation.polyline = null + pointAnnotation.marker = null + pointAnnotation.layers = L.layerGroup() + map.on('click', pointAnnotation.click).on('dblclick', pointAnnotation.dblclick) + }, + click: function (e) { + let marker = L.marker(e.latlng) + marker.addTo(pointAnnotation.map) + }, + dblclick: function (e) { + pointAnnotation.map.off('click', pointAnnotation.click).off('dblclick', pointAnnotation.dblclick) + }, + destory: function () { + if (pointAnnotation.polyline) { + pointAnnotation.map.removeLayer(pointAnnotation.polyline) + } + if (pointAnnotation.marker) { + pointAnnotation.marker.remove() + } + if (pointAnnotation.layers) { + pointAnnotation.layers.clearLayers() + } + } +} + +// 娣诲姞鏂囧瓧鏍囨敞 const startMakeText = function (map, L) { TextAnnotation.init(map, L) +} +// 鏂囧瓧鏍囨敞鐨� 鍐呭绀捐缃� +const setContentText = function (text) { + TextAnnotation.setContent(text) +} +// 鏂囧瓧鏍囨敞鍐呭鐨� 棰滆壊 璁剧疆 +const setContentColor = function (color) { + TextAnnotation.setColor(color) +} + +// 鐐� 鏍囨敞 +const StartPointAnnotation = function (map, L) { + pointAnnotation.init(map, L) } const clearText = function () { startMakeText.destory() } export default { + clearText, startMakeText, - clearText + setContentText, + setContentColor, + StartPointAnnotation } -- Gitblit v1.8.0