From 6ab6b11a0ba0bc20c099b9f7b73e9d03fe7d5b8e Mon Sep 17 00:00:00 2001 From: 徐旺旺 <11530253@qq.com> Date: 星期一, 29 三月 2021 18:13:02 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop --- src/components/plugin/MagicMarker.js | 62 ++++++++++++++++++++----------- 1 files changed, 40 insertions(+), 22 deletions(-) diff --git a/src/components/plugin/MagicMarker.js b/src/components/plugin/MagicMarker.js index afe9916..a9d75bd 100644 --- a/src/components/plugin/MagicMarker.js +++ b/src/components/plugin/MagicMarker.js @@ -1,27 +1,45 @@ /* eslint-disable */ -!(function (i) { - var c = function (i, c) { - for (var n in c) i[n] = c[n] - return i +(function (window) { + console.log(window) + const setOptions = function (obj, options) { + for (const i in options) { + obj[i] = options[i] + } + return obj } - L.Icon.Magic = function (i) { - if (i.iconUrl) { - var n = { html: '<div class=\'magicDiv\'><div class=\'magictime ' + i.magic + '\'>' + i.html + '<img id=\'migic\' src=\'' + i.iconUrl + '\'/></div></div>' } + L.Icon.Magic = function (options) { + let opts + // console.log(options) + if (options.iconUrl) { + opts = { + html: '<div class=\'magicDiv\'><div class=\'magictime ' + options.magic + '\'>' + options.html + '</div></div>' + // className: 'magicDiv',L + } } else { - var n = { html: '<div class=\'magicDiv\'><div class=\'magictime ' + i.magic + '\'>' + i.html + '</div></div>' } + opts = { + html: '<div class=\'magicDiv\'><div class=\'magictime ' + options.magic + '\'><img id=\'migic\' src=\'' + options.icon.options.iconUrl + '\'/></div></div>' + // className: 'magicDiv', + } } - delete i.html - var a = c(n, i) - console.log(a) - var r = L.divIcon(a) - return r - }, L.icon.magic = function (i) { - return new L.Icon.Magic(i) - }, L.Marker.Magic = L.Marker.extend({ - initialize: function (i, c) { - c.icon = L.icon.magic(c), L.Marker.prototype.initialize.call(this, i, c) - } - }), L.marker.magic = function (i, c) { - return new L.Marker.Magic(i, c) + delete options.html + const magicIconOpts = setOptions(opts, options) + // console.log(magicIconOpts) + const magicIcon = L.divIcon(magicIconOpts) + return magicIcon } -}(window)) + + L.icon.magic = function (options) { + return new L.Icon.Magic(options) + } + + L.Marker.Magic = L.Marker.extend({ + initialize: function (latlng, options) { + options.icon = L.icon.magic(options) + L.Marker.prototype.initialize.call(this, latlng, options) + } + }) + + L.marker.magic = function (latlng, options) { + return new L.Marker.Magic(latlng, options) + } +})(window) -- Gitblit v1.8.0