- All
Task
andService
constructors now accepturl
as a value within options, rather than as a seperate parameter. #420
- Fixed duplicate Esri logo bug #427
- GeoJSON is now requested directly from ArcGIS Online Hosted Feature Services #418
- other FeatureLayer performance improvements #416
minZoom
,maxZoom
, #413 andcacheLayers
were added as new FeatureLayer constructor options- default fill is now specified for multipolygons #406
- dark gray basemap now utilizes our new production service #399
- Fixed a bug where resetStyle would not work with MultiPolygon and MultiPolyline features #390
- Fixed a display bug when rapidly toggling L.esri.DynamicMapLayer on/off before the image completely loads #386
- Bower installation fixed #378
- Removed hardcoded http call in
L.esri.Controls.Logo
#383 L.esri.TiledMapLayer
now accepts a token option for secured tiles. #384- Fixed a bug with
DynamicMapLayer
still rendering after being removed from the map. #386 - Fixed 404s on example site.
- Fixed setting sr param on
L.esri.Tasks.Find
#379 bower install esri-leaflet
now works properly.
- Fixed IE 8 and 9 support that was broken in RC 1.
- Fixed sourcemaps by embedding source files inside the maps.
- Fix a bug when aborting JSONP requests
- Other small fixes for plugin support
- Added
contains
,overlaps
andintersects
toL.esri.Tasks.Query
. - Spatial methods on
L.esri.Tasks.Query
can now accept the follwoing Leaflet types,L.Marker
,L.Polygon
,L.Polyline
,L.LatLng
,L.LatLngBounds
andL.GeoJSON
. It can also accept valid GeoJSON Point, Polyline, Polygon and GeoJSON Feautre objects containing Point, Polyline, Polygon. - Most methods that accept
L.LatLng
andL.LatLngBounds
now accept the simple [lat,lng] or [[lat,lng], [lat,lng]] forms.
L.esri.Task
now acceptsproxy
anduseCors
likeL.esri.Service
. Esri#359- Esri Leaflet can now be used in Common JS (browserify) and AMD (Dojo, RequierJS) module loaders. Examples will be coming soon.
- Source maps are now built and distributed along with the distribution files to aid in debugging. To learn how to use the source maps Treehouse and HTML5Rocks have excellent resources.
L.esri.ClusteredFeatureLayer
has been moved to its own repository. https://github.com/Esri/esri-leaflet-clustered-feature-layerL.esri.HeatmapFeatureLayer
has been moved to its own repository. https://github.com/Esri/esri-leaflet-heatmap-feature-layer- An edgecase when converting ArcGIS > GeoJSON has been resolved Esri#340
popupOptions
are now properly presvered Esri#348setStyle
now permanently overrides the style inoptions.style
. Esri#349setWhere
andsetTimeRange
now take callbacks. Esri#354- You can now abort JSONP requests with request.abort() just like with
XMLHttpRequest
. Esri#354 returnGeometry
can now be set onL.esri.Tasks.Query
. Esri#358- a sample.html file was added to help jumpstart debugging local source files. Esri#364
- Task methods that accept callbacks (like
run
orbounds
) now return an instance ofXMLHttpRequest
as opposed to the task or service. bindPopup
onL.esri.DynamicMapLayer
now identifies only visible features by default rather then all features.- All API requests inside of layers, tasks and services will now switch between GET and POST automatically when the request size exceeds 2000 characters. This improves IE compatibility but means that for long requests (like complex
where
clauses or long lists of IDs) you may need to setup an instance of https://github.com/Esri/resource-proxy and use theproxy
option.
L.esri.Tasks.Identify
has been renamed toL.esri.Tasks.IdentifyFeatures
. This is to reduce confusion withL.esri.Tasks.IdentifyImage
and to clearly delineate what these 2 classes do.
- Logo position can now be controlled by using the
logoPosition
option onL.esri.BasemapLayer
Esri#210 - Logo can now be hidden entirely and re-added to the map with the
L.esri.Controls.Logo
class. If you use Esri map tiles you must display the Esri Logo! - Fix a regression from Beta 4 where features could not be loaded from ArcGIS Server if they were in non-mercator references. Esri#283 Esri#322
- The
addFeature
,removeFeature
,updateFeature
methods will no longer throw errors when callbacks are omitted. Esri#285 deleteFeature
now properly removes the feature from the map so it will now appear after zooming or panning. Esri#284- New
createfeature
,addfeature
andremovefeature
events onL.esri.FeatureLayer
. Esri#282 L.esri.Tasks.Query
now supports Map Services and Image Services with the newquery.layer(id)
andquery.pixelSize(point)
params respectively- New
L.esri.Tasks.Find
task for searching feature text in Map Services Esri#287. Thanks @rdjurasaj-usgs! - Support for image services via
L.esri.Layers.ImageMapLayer
. Thanks @rdjurasaj-usgs and @tomwayson L.esri.Tasks.IdentifyImage
for identifying images. Thanks @tomwayson.
- New example for parsing Feature Collections from ArcGIS Online.
- New example for labeling points with Leaflet.label.
- Travis CI is now running tests Esri#271
- Build are no longer saved in the
/dist
folder. Esri#307 - Development Roadmap has been updated.
Oceans
no longer contains map labels, labels have been added as another keyOceansLabels
.L.esri.FeatureLayer
no longer inherits fromL.GeoJSON
and as a result no longer hasgetBounds
,bringToBack
orbringToFront
oraddData
methods.- L.esri.Util.geojsonBounds has been removed. If you need to get the bounding box of a GeoJSON object please use Terraformer or
L.GeoJSON
. - Many other utility methods have been removed. If you were using methods in the
L.esri.Util
namespace please check that they exist. - Layers no longer fire a
metadata
event. They now have ametadata
method that can be used to get layer metadata. If you need to convert extents into L.LatLngBounds you can useL.esri.Util.extentToBounds
. L.esri.DynamicMapLayer
no longer inherits fromL.ImageOverlay
as a result thesetUrl
method no longer exists.- You can no longer pass a
cluster
object toL.esri.ClusteredFeatureLayer
, instead pass any options you want to pass toL.MarkerClusterGroup
directly toL.esri.ClusteredFeatureLayer
. - You can no long pass a string for the
layerDefs
option onL.esri.DynamicMapLayer
. Layer definitions should now be passed as an object like{'0':'STATE_NAME='Kansas' and POP2007>25000'}
- You can no longer pass a string for the
layers
option onL.esri.DynamicMapLayer
you can now only pass an array of layer ids that will be shown like[0,1,2]
. - The
createMarker
method onL.esri.ClusteredFeatureLayer
has been renamed topointToLayer
.
- Added
OceansLabels
toL.esri.BasemapLayer
. Oceans
has switched to the new Ocean basemap with out labels.L.esri.FeatureLayer
has been refactored into several classes.L.esri.FeatureGrid
andL.esri.FeatureManager
now handle loading and querying features from the service.L.esri.ClusteredFeatureLayer
andL.esri.HeatMapFeatureLayer
now inherit fromL.
L.esri.FeatureManager` so they share many new methods and options.L.esri.FeatureLayer
,L.esri.ClusteredFeatureLayer
andL.esri.HeatMapFeatureLayer
now support time enabled service viafrom
,to
,timeFields
andtimeFilterMode
options andsetTimeRange(from, to)
andgetTimeRange()
methods.L.esri.FeatureLayer
,L.esri.ClusteredFeatureLayer
andL.esri.HeatMapFeatureLayer
now supportwhere
options and have new methods forsetWhere()
andgetWhere()
to perform filtering.L.esri.FeatureLayer
now supports generalizing polygon and polyline features on the service side for performance using the newsimplifyFactor
option.- Don't throw errors when
L.esri.BasemapLayer
is added to maps without an attribution control. If you do not add attribution you must handle adding attribution your self to the map. - Remove rbush. Switch to tracking feature ids with the cell key system.
- Remove
L.esri.Util.geojsonBounds
as it was only being used to create bounds and envelopes for rbush. - add
bindPopup
method toL.esri.DynamicMapLayer
. - add
getTimeRange
andsetTimeRange
methodsL.esri.DynamicMapLayer
. - New
L.esri.Services
namespace to handle generic abstraction of interacting with ArcGIS Online and ArcGIS server services. - new
L.esri.Services.Service
base class that can be used for interacting with any service. AllL.esri.Layers
classes now usesL.esri.Services.Service
internally for their API requests. This class also abstracts authentication and proxying. - new
L.esri.Services.FeatureLayer
class for interacting with the Feature Layer API. - new
L.esri.Services.MapService
class for interacting with the Map Server API. - new
L.esri.Tasks
namespace for tasks that map to individual API methods. - new
L.esri.Tasks.Query
class for interacting with the Feature Layer query API. - new
L.esri.Tasks.Identify
class for interacting with Map Servers that support identify.
- Patches a bug with identifying features on DynamicMapLayer
- Various updates and fixes to examples
- Heat map layer - http://esri.github.io/esri-leaflet/heatmaplayer.html
- Geocoder - http://esri.github.io/esri-leaflet/findplaces.html
- Authentication for ClusteredFeatureLayer https://github.com/Esri/esri-leaflet/commit/d23ddd99ee86bb7255e4d89b6cf3f339a441c88b
- Removed Terraformer as a dependency to cut down on build size and complexity. The neccessary Terraformer methods have been ported into L.esri.Util. This cuts a whomping 15kb from the build!
- Fix for DynamicMapLayer that is outside of min/max zoom levels https://github.com/Esri/esri-leaflet/commit/0d2c2c36ed6ccbad96e0ab24c24cc48f43079ade
- Fix for layerDefs in DynamicMapLayer https://github.com/Esri/esri-leaflet/commit/1375bbf2768ba0fb6806f51c09a3d6fa192521d9
- Add HeatmapFeatureLayer based on Leaflet.heat
- Add where and fields options to FeatureLayer and ClusteredFeatureLayer, and HeatmapFeatureLayer
- Add bounds property to the metadata event when possible #216
- Improve DynamicMapLayer panning and zooming performance. #137
- FeatureLayer and ClusteredFeatureLayer can now load features from map services. Thanks to @odoe and @jgravois.
- FeatureLayer, DynamicMapLayer and ClusteredFeatureLayer all accept a token option for accessing services that require authentication and fire a
authenticationrequired
event when they encounter a need for a token. Thanks to @aaronpk for the Oauth demos. #139 - Add DarkGray and DarkGrayLabels to BasemapLayer. #190
- An attributionControl on maps is now required when using BasemapLayer. #159