fix popup offseting
This commit is contained in:
parent
3687ed81e6
commit
6bf0f98796
@ -41,6 +41,7 @@
|
|||||||
|
|
||||||
var poly = new L.Polygon([[0, 10], [0, 15.5], [0, 50], [20, 20.5]]);
|
var poly = new L.Polygon([[0, 10], [0, 15.5], [0, 50], [20, 20.5]]);
|
||||||
map.addLayer(poly);
|
map.addLayer(poly);
|
||||||
|
poly.bindPopup("Polygon");
|
||||||
|
|
||||||
|
|
||||||
markerDraggable.on('click', function(e) {
|
markerDraggable.on('click', function(e) {
|
||||||
|
@ -26,6 +26,9 @@ L.Layer.include({
|
|||||||
this._popupHandlersAdded = true;
|
this._popupHandlersAdded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// save the originally passed offset
|
||||||
|
this._originalPopupOffset = this._popup.options.offset;
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -60,9 +63,16 @@ L.Layer.include({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this._popup && this._map) {
|
if (this._popup && this._map) {
|
||||||
|
// set the popup offset for this layer
|
||||||
this._popup.options.offset = this._popupAnchor(layer);
|
this._popup.options.offset = this._popupAnchor(layer);
|
||||||
|
|
||||||
|
// set popup source to this layer
|
||||||
this._popup._source = layer;
|
this._popup._source = layer;
|
||||||
|
|
||||||
|
// update the popup (content, layout, ect...)
|
||||||
this._popup.update();
|
this._popup.update();
|
||||||
|
|
||||||
|
// open the popup on the map
|
||||||
this._map.openPopup(this._popup, latlng);
|
this._map.openPopup(this._popup, latlng);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,8 +136,13 @@ L.Layer.include({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_popupAnchor: function (layer) {
|
_popupAnchor: function (layer) {
|
||||||
|
// where shold we anchor the popup on this layer?
|
||||||
var anchor = layer._getPopupAnchor ? layer._getPopupAnchor() : [0, 0];
|
var anchor = layer._getPopupAnchor ? layer._getPopupAnchor() : [0, 0];
|
||||||
var offsetToAdd = layer._popup ? layer._popup.options.offset : L.Popup.prototype.options.offset;
|
|
||||||
|
// add the users passed offset to that
|
||||||
|
var offsetToAdd = this._originalPopupOffset || L.Popup.prototype.options.offset;
|
||||||
|
|
||||||
|
// return the final point to anchor the popup
|
||||||
return L.point(anchor).add(offsetToAdd);
|
return L.point(anchor).add(offsetToAdd);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user