/* eslint-disable */ // 添加文字标注 var TextAnnotation = { points: [], color: '', L: null, map: null, layers: null, polyline: null, marker: null, changeColor: '', changeContent: '', init: function (map, L) { // console.log(L) TextAnnotation.L = L TextAnnotation.map = map TextAnnotation.points = [] TextAnnotation.polyline = null TextAnnotation.marker = null 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(TextAnnotation.changeContent) let labIcon = L.divIcon({ html: '
' + TextAnnotation.changeContent + '
', iconSize: [100, 40], iconAnchor: [0, 0], className: '' }) let marker = L.marker(e.latlng, { icon: labIcon }) marker.addTo(TextAnnotation.map) }, dblclick: function (e) { TextAnnotation.map.off('click', TextAnnotation.click).off('dblclick', TextAnnotation.dblclick) }, destory: function () { if (TextAnnotation.polyline) { TextAnnotation.map.removeLayer(TextAnnotation.polyline) } if (TextAnnotation.marker) { TextAnnotation.marker.remove() } if (TextAnnotation.layers) { TextAnnotation.layers.clearLayers() } } } // 添加 点 的标注 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, setContentText, setContentColor, StartPointAnnotation }