/* eslint-disable */
// 添加文字标注
var TextAnnotation = {
points: [],
color: 'yellow',
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
},
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()
}
}
}
// 添加 点 的标注
var CircleAnnotation = {
points: [],
color: 'yellow',
L: null,
map: null,
layers: null,
polyline: null,
marker: null,
init: function (map, L) {
// console.log(L)
CircleAnnotation.L = L
CircleAnnotation.map = map
CircleAnnotation.points = []
CircleAnnotation.polyline = null
CircleAnnotation.marker = null
CircleAnnotation.layers = L.layerGroup()
map.on('click', CircleAnnotation.click).on('dblclick', CircleAnnotation.dblclick)
},
click: function (e) {
// var myIcon = L.divIcon({className: 'my-div-icon'});
let marker = L.marker(e.latlng)
marker.addTo(CircleAnnotation.map)
},
dblclick: function (e) {
CircleAnnotation.map.off('click', CircleAnnotation.click).off('dblclick', CircleAnnotation.dblclick)
},
destory: function () {
if (CircleAnnotation.polyline) {
CircleAnnotation.map.removeLayer(CircleAnnotation.polyline)
}
if (CircleAnnotation.marker) {
CircleAnnotation.marker.remove()
}
if (CircleAnnotation.layers) {
CircleAnnotation.layers.clearLayers()
}
}
}
const startMakeText = function (map, L) {
TextAnnotation.init(map, L)
}
const StartCircleAnnotation = function (map, L) {
CircleAnnotation.init(map, L)
}
const setContentText = function (text) {
TextAnnotation.setContent(text)
}
const clearText = function () {
startMakeText.destory()
}
export default {
startMakeText,
clearText,
StartCircleAnnotation,
setContentText
}