Update leaflet to 1.5.1
This commit is contained in:
parent
7d8cb70ccd
commit
a6d5bc4a00
3 changed files with 178 additions and 83 deletions
|
@ -11,13 +11,13 @@ folder 'vendor/assets' do
|
|||
end
|
||||
|
||||
folder 'leaflet' do
|
||||
file 'leaflet.js', 'https://unpkg.com/leaflet@1.4.0/dist/leaflet-src.js'
|
||||
file 'leaflet.css', 'https://unpkg.com/leaflet@1.4.0/dist/leaflet.css'
|
||||
file 'leaflet.js', 'https://unpkg.com/leaflet@1.5.1/dist/leaflet-src.js'
|
||||
file 'leaflet.css', 'https://unpkg.com/leaflet@1.5.1/dist/leaflet.css'
|
||||
|
||||
[ 'layers.png', 'layers-2x.png',
|
||||
'marker-icon.png', 'marker-icon-2x.png',
|
||||
'marker-shadow.png' ].each do |image|
|
||||
file "images/#{image}", "https://unpkg.com/leaflet@1.4.0/dist/images/#{image}"
|
||||
file "images/#{image}", "https://unpkg.com/leaflet@1.5.1/dist/images/#{image}"
|
||||
end
|
||||
|
||||
from 'git://github.com/aratcliffe/Leaflet.contextmenu.git', :tag => 'v1.5.0' do
|
||||
|
|
7
vendor/assets/leaflet/leaflet.css
vendored
7
vendor/assets/leaflet/leaflet.css
vendored
|
@ -25,6 +25,10 @@
|
|||
user-select: none;
|
||||
-webkit-user-drag: none;
|
||||
}
|
||||
/* Prevents IE11 from highlighting tiles in blue */
|
||||
.leaflet-tile::selection {
|
||||
background: transparent;
|
||||
}
|
||||
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
|
||||
.leaflet-safari .leaflet-tile {
|
||||
image-rendering: -webkit-optimize-contrast;
|
||||
|
@ -237,7 +241,8 @@
|
|||
|
||||
.leaflet-marker-icon.leaflet-interactive,
|
||||
.leaflet-image-layer.leaflet-interactive,
|
||||
.leaflet-pane > svg path.leaflet-interactive {
|
||||
.leaflet-pane > svg path.leaflet-interactive,
|
||||
svg.leaflet-image-layer.leaflet-interactive path {
|
||||
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
|
248
vendor/assets/leaflet/leaflet.js
vendored
248
vendor/assets/leaflet/leaflet.js
vendored
|
@ -1,5 +1,5 @@
|
|||
/* @preserve
|
||||
* Leaflet 1.4.0, a JS library for interactive maps. http://leafletjs.com
|
||||
* Leaflet 1.5.1+build.2e3e0ff, a JS library for interactive maps. http://leafletjs.com
|
||||
* (c) 2010-2018 Vladimir Agafonkin, (c) 2010-2011 CloudMade
|
||||
*/
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
|||
(factory((global.L = {})));
|
||||
}(this, (function (exports) { 'use strict';
|
||||
|
||||
var version = "1.4.0";
|
||||
var version = "1.5.1+build.2e3e0ffb";
|
||||
|
||||
/*
|
||||
* @namespace Util
|
||||
|
@ -127,8 +127,8 @@ function falseFn() { return false; }
|
|||
// @function formatNum(num: Number, digits?: Number): Number
|
||||
// Returns the number `num` rounded to `digits` decimals, or to 6 decimals by default.
|
||||
function formatNum(num, digits) {
|
||||
var pow = Math.pow(10, (digits === undefined ? 6 : digits));
|
||||
return Math.round(num * pow) / pow;
|
||||
digits = (digits === undefined ? 6 : digits);
|
||||
return +(Math.round(num + ('e+' + digits)) + ('e-' + digits));
|
||||
}
|
||||
|
||||
// @function trim(str: String): String
|
||||
|
@ -468,7 +468,7 @@ var Events = {
|
|||
*
|
||||
* @alternative
|
||||
* @method off: this
|
||||
* Removes all listeners to all events on the object.
|
||||
* Removes all listeners to all events on the object. This includes implicitly attached events.
|
||||
*/
|
||||
off: function (types, fn, context) {
|
||||
|
||||
|
@ -1648,9 +1648,11 @@ var Earth = extend({}, CRS, {
|
|||
* a sphere. Used by the `EPSG:3857` CRS.
|
||||
*/
|
||||
|
||||
var earthRadius = 6378137;
|
||||
|
||||
var SphericalMercator = {
|
||||
|
||||
R: 6378137,
|
||||
R: earthRadius,
|
||||
MAX_LATITUDE: 85.0511287798,
|
||||
|
||||
project: function (latlng) {
|
||||
|
@ -1673,7 +1675,7 @@ var SphericalMercator = {
|
|||
},
|
||||
|
||||
bounds: (function () {
|
||||
var d = 6378137 * Math.PI;
|
||||
var d = earthRadius * Math.PI;
|
||||
return new Bounds([-d, -d], [d, d]);
|
||||
})()
|
||||
};
|
||||
|
@ -2171,6 +2173,7 @@ function addDoubleTapListener(obj, handler, id) {
|
|||
touch$$1 = newTouch;
|
||||
}
|
||||
touch$$1.type = 'dblclick';
|
||||
touch$$1.button = 0;
|
||||
handler(touch$$1);
|
||||
last = null;
|
||||
}
|
||||
|
@ -4308,9 +4311,15 @@ var Map = Evented.extend({
|
|||
// this event. Also fired on mobile when the user holds a single touch
|
||||
// for a second (also called long press).
|
||||
// @event keypress: KeyboardEvent
|
||||
// Fired when the user presses a key from the keyboard while the map is focused.
|
||||
// Fired when the user presses a key from the keyboard that produces a character value while the map is focused.
|
||||
// @event keydown: KeyboardEvent
|
||||
// Fired when the user presses a key from the keyboard while the map is focused. Unlike the `keypress` event,
|
||||
// the `keydown` event is fired for keys that produce a character value and for keys
|
||||
// that do not produce a character value.
|
||||
// @event keyup: KeyboardEvent
|
||||
// Fired when the user releases a key from the keyboard while the map is focused.
|
||||
onOff(this._container, 'click dblclick mousedown mouseup ' +
|
||||
'mouseover mouseout mousemove contextmenu keypress', this._handleDOMEvent, this);
|
||||
'mouseover mouseout mousemove contextmenu keypress keydown keyup', this._handleDOMEvent, this);
|
||||
|
||||
if (this.options.trackResize) {
|
||||
onOff(window, 'resize', this._onResize, this);
|
||||
|
@ -4374,7 +4383,7 @@ var Map = Evented.extend({
|
|||
|
||||
var type = e.type;
|
||||
|
||||
if (type === 'mousedown' || type === 'keypress') {
|
||||
if (type === 'mousedown' || type === 'keypress' || type === 'keyup' || type === 'keydown') {
|
||||
// prevents outline when clicking on keyboard-focusable element
|
||||
preventOutline(e.target || e.srcElement);
|
||||
}
|
||||
|
@ -4413,7 +4422,7 @@ var Map = Evented.extend({
|
|||
originalEvent: e
|
||||
};
|
||||
|
||||
if (e.type !== 'keypress') {
|
||||
if (e.type !== 'keypress' && e.type !== 'keydown' && e.type !== 'keyup') {
|
||||
var isMarker = target.getLatLng && (!target._radius || target._radius <= 10);
|
||||
data.containerPoint = isMarker ?
|
||||
this.latLngToContainerPoint(target.getLatLng()) : this.mouseEventToContainerPoint(e);
|
||||
|
@ -4666,7 +4675,7 @@ var Map = Evented.extend({
|
|||
}
|
||||
|
||||
// @event zoomanim: ZoomAnimEvent
|
||||
// Fired at least once per zoom animation. For continous zoom, like pinch zooming, fired once per frame during zoom.
|
||||
// Fired at least once per zoom animation. For continuous zoom, like pinch zooming, fired once per frame during zoom.
|
||||
this.fire('zoomanim', {
|
||||
center: center,
|
||||
zoom: zoom,
|
||||
|
@ -4784,6 +4793,8 @@ var Control = Class.extend({
|
|||
corner.appendChild(container);
|
||||
}
|
||||
|
||||
this._map.on('unload', this.remove, this);
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
|
@ -4800,6 +4811,7 @@ var Control = Class.extend({
|
|||
this.onRemove(this._map);
|
||||
}
|
||||
|
||||
this._map.off('unload', this.remove, this);
|
||||
this._map = null;
|
||||
|
||||
return this;
|
||||
|
@ -5197,7 +5209,7 @@ var Layers = Control.extend({
|
|||
input.className = 'leaflet-control-layers-selector';
|
||||
input.defaultChecked = checked;
|
||||
} else {
|
||||
input = this._createRadioElement('leaflet-base-layers', checked);
|
||||
input = this._createRadioElement('leaflet-base-layers_' + stamp(this), checked);
|
||||
}
|
||||
|
||||
this._layerControlInputs.push(input);
|
||||
|
@ -5582,7 +5594,7 @@ var Attribution = Control.extend({
|
|||
|
||||
// @option prefix: String = 'Leaflet'
|
||||
// The HTML text shown before the attributions. Pass `false` to disable.
|
||||
prefix: '<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'
|
||||
prefix: '<a href="https://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'
|
||||
},
|
||||
|
||||
initialize: function (options) {
|
||||
|
@ -6327,7 +6339,7 @@ var LonLat = {
|
|||
* @namespace Projection
|
||||
* @projection L.Projection.Mercator
|
||||
*
|
||||
* Elliptical Mercator projection — more complex than Spherical Mercator. Takes into account that Earth is a geoid, not a perfect sphere. Used by the EPSG:3395 CRS.
|
||||
* Elliptical Mercator projection — more complex than Spherical Mercator. Assumes that Earth is an ellipsoid. Used by the EPSG:3395 CRS.
|
||||
*/
|
||||
|
||||
var Mercator = {
|
||||
|
@ -6487,7 +6499,7 @@ CRS.Simple = Simple;
|
|||
* @example
|
||||
*
|
||||
* ```js
|
||||
* var layer = L.Marker(latlng).addTo(map);
|
||||
* var layer = L.marker(latlng).addTo(map);
|
||||
* layer.addTo(map);
|
||||
* layer.remove();
|
||||
* ```
|
||||
|
@ -7418,6 +7430,10 @@ var Marker = Layer.extend({
|
|||
// `Map pane` where the markers icon will be added.
|
||||
pane: 'markerPane',
|
||||
|
||||
// @option pane: String = 'shadowPane'
|
||||
// `Map pane` where the markers shadow will be added.
|
||||
shadowPane: 'shadowPane',
|
||||
|
||||
// @option bubblingMouseEvents: Boolean = false
|
||||
// When `true`, a mouse event on this marker will trigger the same event on the map
|
||||
// (unless [`L.DomEvent.stopPropagation`](#domevent-stoppropagation) is used).
|
||||
|
@ -7510,6 +7526,12 @@ var Marker = Layer.extend({
|
|||
return this.update();
|
||||
},
|
||||
|
||||
// @method getIcon: Icon
|
||||
// Returns the current icon used by the marker
|
||||
getIcon: function () {
|
||||
return this.options.icon;
|
||||
},
|
||||
|
||||
// @method setIcon(icon: Icon): this
|
||||
// Changes the marker icon.
|
||||
setIcon: function (icon) {
|
||||
|
@ -7605,7 +7627,7 @@ var Marker = Layer.extend({
|
|||
}
|
||||
this._initInteraction();
|
||||
if (newShadow && addShadow) {
|
||||
this.getPane('shadowPane').appendChild(this._shadow);
|
||||
this.getPane(options.shadowPane).appendChild(this._shadow);
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -7689,7 +7711,9 @@ var Marker = Layer.extend({
|
|||
_updateOpacity: function () {
|
||||
var opacity = this.options.opacity;
|
||||
|
||||
setOpacity(this._icon, opacity);
|
||||
if (this._icon) {
|
||||
setOpacity(this._icon, opacity);
|
||||
}
|
||||
|
||||
if (this._shadow) {
|
||||
setOpacity(this._shadow, opacity);
|
||||
|
@ -7826,6 +7850,9 @@ var Path = Layer.extend({
|
|||
setOptions(this, style);
|
||||
if (this._renderer) {
|
||||
this._renderer._updateStyle(this);
|
||||
if (this.options.stroke && style.hasOwnProperty('weight')) {
|
||||
this._updateBounds();
|
||||
}
|
||||
}
|
||||
return this;
|
||||
},
|
||||
|
@ -8267,14 +8294,19 @@ var Polyline = Path.extend({
|
|||
this._rings = [];
|
||||
this._projectLatlngs(this._latlngs, this._rings, pxBounds);
|
||||
|
||||
if (this._bounds.isValid() && pxBounds.isValid()) {
|
||||
this._rawPxBounds = pxBounds;
|
||||
this._updateBounds();
|
||||
}
|
||||
},
|
||||
|
||||
_updateBounds: function () {
|
||||
var w = this._clickTolerance(),
|
||||
p = new Point(w, w);
|
||||
|
||||
if (this._bounds.isValid() && pxBounds.isValid()) {
|
||||
pxBounds.min._subtract(p);
|
||||
pxBounds.max._add(p);
|
||||
this._pxBounds = pxBounds;
|
||||
}
|
||||
this._pxBounds = new Bounds([
|
||||
this._rawPxBounds.min.subtract(p),
|
||||
this._rawPxBounds.max.add(p)
|
||||
]);
|
||||
},
|
||||
|
||||
// recursively turns latlngs into a set of rings with projected coordinates
|
||||
|
@ -8704,10 +8736,10 @@ var GeoJSON = FeatureGroup.extend({
|
|||
},
|
||||
|
||||
_setLayerStyle: function (layer, style) {
|
||||
if (typeof style === 'function') {
|
||||
style = style(layer.feature);
|
||||
}
|
||||
if (layer.setStyle) {
|
||||
if (typeof style === 'function') {
|
||||
style = style(layer.feature);
|
||||
}
|
||||
layer.setStyle(style);
|
||||
}
|
||||
}
|
||||
|
@ -8857,19 +8889,25 @@ var PointToGeoJSON = {
|
|||
};
|
||||
|
||||
// @namespace Marker
|
||||
// @method toGeoJSON(): Object
|
||||
// @method toGeoJSON(precision?: Number): Object
|
||||
// `precision` is the number of decimal places for coordinates.
|
||||
// The default value is 6 places.
|
||||
// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the marker (as a GeoJSON `Point` Feature).
|
||||
Marker.include(PointToGeoJSON);
|
||||
|
||||
// @namespace CircleMarker
|
||||
// @method toGeoJSON(): Object
|
||||
// @method toGeoJSON(precision?: Number): Object
|
||||
// `precision` is the number of decimal places for coordinates.
|
||||
// The default value is 6 places.
|
||||
// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the circle marker (as a GeoJSON `Point` Feature).
|
||||
Circle.include(PointToGeoJSON);
|
||||
CircleMarker.include(PointToGeoJSON);
|
||||
|
||||
|
||||
// @namespace Polyline
|
||||
// @method toGeoJSON(): Object
|
||||
// @method toGeoJSON(precision?: Number): Object
|
||||
// `precision` is the number of decimal places for coordinates.
|
||||
// The default value is 6 places.
|
||||
// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the polyline (as a GeoJSON `LineString` or `MultiLineString` Feature).
|
||||
Polyline.include({
|
||||
toGeoJSON: function (precision) {
|
||||
|
@ -8885,7 +8923,9 @@ Polyline.include({
|
|||
});
|
||||
|
||||
// @namespace Polygon
|
||||
// @method toGeoJSON(): Object
|
||||
// @method toGeoJSON(precision?: Number): Object
|
||||
// `precision` is the number of decimal places for coordinates.
|
||||
// The default value is 6 places.
|
||||
// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the polygon (as a GeoJSON `Polygon` or `MultiPolygon` Feature).
|
||||
Polygon.include({
|
||||
toGeoJSON: function (precision) {
|
||||
|
@ -8921,7 +8961,9 @@ LayerGroup.include({
|
|||
});
|
||||
},
|
||||
|
||||
// @method toGeoJSON(): Object
|
||||
// @method toGeoJSON(precision?: Number): Object
|
||||
// `precision` is the number of decimal places for coordinates.
|
||||
// The default value is 6 places.
|
||||
// Returns a [`GeoJSON`](http://en.wikipedia.org/wiki/GeoJSON) representation of the layer group (as a GeoJSON `FeatureCollection`, `GeometryCollection`, or `MultiPoint`).
|
||||
toGeoJSON: function (precision) {
|
||||
|
||||
|
@ -9266,7 +9308,12 @@ var VideoOverlay = ImageOverlay.extend({
|
|||
|
||||
// @option loop: Boolean = true
|
||||
// Whether the video will loop back to the beginning when played.
|
||||
loop: true
|
||||
loop: true,
|
||||
|
||||
// @option keepAspectRatio: Boolean = true
|
||||
// Whether the video will save aspect ratio after the projection.
|
||||
// Relevant for supported browsers. Browser compatibility- https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
|
||||
keepAspectRatio: true
|
||||
},
|
||||
|
||||
_initImage: function () {
|
||||
|
@ -9296,6 +9343,7 @@ var VideoOverlay = ImageOverlay.extend({
|
|||
|
||||
if (!isArray(this._url)) { this._url = [this._url]; }
|
||||
|
||||
if (!this.options.keepAspectRatio && vid.style.hasOwnProperty('objectFit')) { vid.style['objectFit'] = 'fill'; }
|
||||
vid.autoplay = !!this.options.autoplay;
|
||||
vid.loop = !!this.options.loop;
|
||||
for (var i = 0; i < this._url.length; i++) {
|
||||
|
@ -9319,6 +9367,49 @@ function videoOverlay(video, bounds, options) {
|
|||
return new VideoOverlay(video, bounds, options);
|
||||
}
|
||||
|
||||
/*
|
||||
* @class SVGOverlay
|
||||
* @aka L.SVGOverlay
|
||||
* @inherits ImageOverlay
|
||||
*
|
||||
* Used to load, display and provide DOM access to an SVG file over specific bounds of the map. Extends `ImageOverlay`.
|
||||
*
|
||||
* An SVG overlay uses the [`<svg>`](https://developer.mozilla.org/docs/Web/SVG/Element/svg) element.
|
||||
*
|
||||
* @example
|
||||
*
|
||||
* ```js
|
||||
* var element = '<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><image xlink:href="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" height="200" width="200"/></svg>',
|
||||
* elementBounds = [ [ 32, -130 ], [ 13, -100 ] ];
|
||||
* L.svgOverlay(element, elementBounds).addTo(map);
|
||||
* ```
|
||||
*/
|
||||
|
||||
var SVGOverlay = ImageOverlay.extend({
|
||||
_initImage: function () {
|
||||
var el = this._image = this._url;
|
||||
|
||||
addClass(el, 'leaflet-image-layer');
|
||||
if (this._zoomAnimated) { addClass(el, 'leaflet-zoom-animated'); }
|
||||
|
||||
el.onselectstart = falseFn;
|
||||
el.onmousemove = falseFn;
|
||||
}
|
||||
|
||||
// @method getElement(): SVGElement
|
||||
// Returns the instance of [`SVGElement`](https://developer.mozilla.org/docs/Web/API/SVGElement)
|
||||
// used by this overlay.
|
||||
});
|
||||
|
||||
|
||||
// @factory L.svgOverlay(svg: String|SVGElement, bounds: LatLngBounds, options?: SVGOverlay options)
|
||||
// Instantiates an image overlay object given an SVG element and the geographical bounds it is tied to.
|
||||
// A viewBox attribute is required on the SVG element to zoom in and out properly.
|
||||
|
||||
function svgOverlay(el, bounds, options) {
|
||||
return new SVGOverlay(el, bounds, options);
|
||||
}
|
||||
|
||||
/*
|
||||
* @class DivOverlay
|
||||
* @inherits Layer
|
||||
|
@ -9473,6 +9564,38 @@ var DivOverlay = Layer.extend({
|
|||
return this;
|
||||
},
|
||||
|
||||
_prepareOpen: function (parent, layer, latlng) {
|
||||
if (!(layer instanceof Layer)) {
|
||||
latlng = layer;
|
||||
layer = parent;
|
||||
}
|
||||
|
||||
if (layer instanceof FeatureGroup) {
|
||||
for (var id in parent._layers) {
|
||||
layer = parent._layers[id];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!latlng) {
|
||||
if (layer.getCenter) {
|
||||
latlng = layer.getCenter();
|
||||
} else if (layer.getLatLng) {
|
||||
latlng = layer.getLatLng();
|
||||
} else {
|
||||
throw new Error('Unable to get source layer LatLng.');
|
||||
}
|
||||
}
|
||||
|
||||
// set overlay source to this layer
|
||||
this._source = layer;
|
||||
|
||||
// update the overlay (content, layout, ect...)
|
||||
this.update();
|
||||
|
||||
return latlng;
|
||||
},
|
||||
|
||||
_updateContent: function () {
|
||||
if (!this._content) { return; }
|
||||
|
||||
|
@ -9927,28 +10050,8 @@ Layer.include({
|
|||
// @method openPopup(latlng?: LatLng): this
|
||||
// Opens the bound popup at the specified `latlng` or at the default popup anchor if no `latlng` is passed.
|
||||
openPopup: function (layer, latlng) {
|
||||
if (!(layer instanceof Layer)) {
|
||||
latlng = layer;
|
||||
layer = this;
|
||||
}
|
||||
|
||||
if (layer instanceof FeatureGroup) {
|
||||
for (var id in this._layers) {
|
||||
layer = this._layers[id];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!latlng) {
|
||||
latlng = layer.getCenter ? layer.getCenter() : layer.getLatLng();
|
||||
}
|
||||
|
||||
if (this._popup && this._map) {
|
||||
// set popup source to this layer
|
||||
this._popup._source = layer;
|
||||
|
||||
// update the popup (content, layout, ect...)
|
||||
this._popup.update();
|
||||
latlng = this._popup._prepareOpen(this, layer, latlng);
|
||||
|
||||
// open the popup on the map
|
||||
this._map.openPopup(this._popup, latlng);
|
||||
|
@ -10345,29 +10448,8 @@ Layer.include({
|
|||
// @method openTooltip(latlng?: LatLng): this
|
||||
// Opens the bound tooltip at the specified `latlng` or at the default tooltip anchor if no `latlng` is passed.
|
||||
openTooltip: function (layer, latlng) {
|
||||
if (!(layer instanceof Layer)) {
|
||||
latlng = layer;
|
||||
layer = this;
|
||||
}
|
||||
|
||||
if (layer instanceof FeatureGroup) {
|
||||
for (var id in this._layers) {
|
||||
layer = this._layers[id];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!latlng) {
|
||||
latlng = layer.getCenter ? layer.getCenter() : layer.getLatLng();
|
||||
}
|
||||
|
||||
if (this._tooltip && this._map) {
|
||||
|
||||
// set tooltip source to this layer
|
||||
this._tooltip._source = layer;
|
||||
|
||||
// update the tooltip (content, layout, ect...)
|
||||
this._tooltip.update();
|
||||
latlng = this._tooltip._prepareOpen(this, layer, latlng);
|
||||
|
||||
// open the tooltip on the map
|
||||
this._map.openTooltip(this._tooltip, latlng);
|
||||
|
@ -10478,8 +10560,9 @@ var DivIcon = Icon.extend({
|
|||
// iconAnchor: (Point),
|
||||
// popupAnchor: (Point),
|
||||
|
||||
// @option html: String = ''
|
||||
// Custom HTML code to put inside the div element, empty by default.
|
||||
// @option html: String|HTMLElement = ''
|
||||
// Custom HTML code to put inside the div element, empty by default. Alternatively,
|
||||
// an instance of `HTMLElement`.
|
||||
html: false,
|
||||
|
||||
// @option bgPos: Point = [0, 0]
|
||||
|
@ -10493,7 +10576,12 @@ var DivIcon = Icon.extend({
|
|||
var div = (oldIcon && oldIcon.tagName === 'DIV') ? oldIcon : document.createElement('div'),
|
||||
options = this.options;
|
||||
|
||||
div.innerHTML = options.html !== false ? options.html : '';
|
||||
if (options.html instanceof Element) {
|
||||
empty(div);
|
||||
div.appendChild(options.html);
|
||||
} else {
|
||||
div.innerHTML = options.html !== false ? options.html : '';
|
||||
}
|
||||
|
||||
if (options.bgPos) {
|
||||
var bgPos = toPoint(options.bgPos);
|
||||
|
@ -13883,6 +13971,8 @@ exports.ImageOverlay = ImageOverlay;
|
|||
exports.imageOverlay = imageOverlay;
|
||||
exports.VideoOverlay = VideoOverlay;
|
||||
exports.videoOverlay = videoOverlay;
|
||||
exports.SVGOverlay = SVGOverlay;
|
||||
exports.svgOverlay = svgOverlay;
|
||||
exports.DivOverlay = DivOverlay;
|
||||
exports.Popup = Popup;
|
||||
exports.popup = popup;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue