Add animations to customMarkers

This commit is contained in:
reviiii 2020-07-23 13:54:39 +02:00 committed by GitHub
parent e0b9e6bfe7
commit 55bcffe92a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -37,6 +37,9 @@ L.CustomMarker = L.Class.extend({
map.on('viewreset', this._reset, this); map.on('viewreset', this._reset, this);
this._reset(); this._reset();
if (map.options.zoomAnimation && map.options.markerZoomAnimation) {
map.on('zoomanim', this._animateZoom, this);
}
}, },
onRemove: function(map) { onRemove: function(map) {
@ -60,6 +63,12 @@ L.CustomMarker = L.Class.extend({
this._latlng = latlng; this._latlng = latlng;
this._reset(); this._reset();
}, },
_animateZoom: function (opt) {
var pos = this._map._latLngToNewLayerPoint(this._latlng, opt.zoom, opt.center);
L.DomUtil.setPosition(this._element, pos);
this._element.style.zIndex = pos.y;
},
_reset: function() { _reset: function() {
if(this._map == null) if(this._map == null)
@ -97,6 +106,9 @@ L.CustomMarker = L.Class.extend({
this.dragging.enable(); this.dragging.enable();
} }
} }
var animation = (map.options.zoomAnimation && map.options.markerZoomAnimation);
if (this._element)
this._element.className += animation ? ' leaflet-zoom-animated' : ' leaflet-zoom-hide';
}, },
_onMouseClick: function(e) { _onMouseClick: function(e) {
@ -131,4 +143,4 @@ L.CustomMarker = L.Class.extend({
return this; return this;
} }
}); });