* Finish drags when a L.Draggable is removed, fix#5063.
* Use L.Draggable._dragging to check if we should stop the drag
* Add Draggable.finishDrag to allow finishing drag programmaticaly
Out of any event.
* Ensure zoom is within span when adding a layer with min/maxzoom, fixes#4915.
* Add tests written by @theashyster
* Add tests to verify map's zoom is actually adjusted to layer's min/max
`addData`, `resetStyle` and `setStyle` methods of `L.GeoJSON` actually return `this` (the current GeoJSON Layer Group), not any Layer.
Can be especially confusing in the case of `resetStyle`, where we pass a layer as argument, and with `addData`, which can accept a single GeoJSON feature, hence we could (mistakenly) think that it returns the newly created layer.
detailed that modifying `L.Icon.Default.prototype.options` only customizes the icon, but it remains an image-based icon.
Added a paragraph about completely replacing the default icon, so that it can now be anything (including a divIcon).
as proposed in a recent issue.
This change should not affect the code, it is only for consistency with docstrings.
docstrings: replaced southWest and northEast argument names by corner1 and corner2, to try to prevent confusion that Leaflet will keep these corners at those places, whereas it actually "re-orders" them to keep lowest values West-most / South-most, as if they were just corners.
Also, fire mouseover for at most one layer for every mousemove,
preventing overlapping features from firing multiple
mouseover/mouseout (#4495).
Close#5028. Close#4495.
Bug when using map option `preferCanvas: true` (canvas renderer for paths) and removing then adding back a vector within the same animation frame (typically in the same sequence, as done by Leaflet.markercluster at `"zoomend"` event, to remove layers and clusters outside visible bounds).
This commit clears the `_removed` flag from paths when they are added to the canvas.
Also added corresponding test suites.
* Fix doc: add clarification for projection; closes#4817
Adds clarification in the documentation that specifies that the
`project` and `unproject` methods cannot take in arrays, but only
actual instances of `L.LatLng` and `L.Point`, respectively.
* Fix doc: add clarification for transform methods
Changes the word "real" for the word "actual" so that people don't
confuse actual instances of `L.Point` with coordinates using real
numbers.
Corrected docstrings of L.GeoJSON for methods (addData, resetStyle, setStyle) to be really counted as "methods" instead of static "functions" (geometryToLayer, coordsToLatLng, coordsToLatLngs, latLngToCoords, latLngsToCoords, asFeature)
Following https://stackoverflow.com/questions/39776919/how-to-reference-the-data-of-an-existing-geojson-leaflet-object/39787583#39787583, sounds like the current definition "decide whether to show a feature or not" implies that the data is retained in memory, but just not shown.
Replaced "show" by "include" to try to make it clearer that the filtered out data is _lost_ (not retained at all within the group).
Also took the opportunity to add a note about changing the `filter` option dynamically (no re-evaluation of child layers, whether they meet the new filter conditions or not).
Replaced factory example `L.geoJson` (from Leaflet 0.7) by `L.geoJSON` for consistency with the new factory signature rendered just below in the generated docs.