Let's Make a Map!: A Comparison of Current Web Mapping Libraries

Tensing
In the current market there are lots of web mapping libraries available. There are so many options available that it’s hard to pick one that best fits your wishes. This becomes harder as the demand for online web maps rapidly grows. In the coming weeks we will compare the five biggest currently available web mapping libraries.
Let’s first state the possibilities of the currently available libraries in their latest release (as of February 2019):
Esri ArcGIS API for Javascript | Leaflet | Cesium | OpenLayers | Google Maps Javascript API | |
WMS supported
|
✓ | ✓ | ✓ | ✓ | ✓ |
WMTS supported
|
✓ |
✘
(plug-in exists) |
✓ | ✓ | ✓ |
WFS supported
|
✘ | ✘ |
✘
(plug-in exists) |
✓ | ✘ |
GeoJson supported
|
✘
(plug-in exists) |
✓ | ✓ | ✓ | ✓ |
KML supported
|
✓ |
✘
(plug-in exists) |
✓ | ✓ | ✓ |
Feature Service supported
|
✓ |
✘
(plug-in exists) |
✘ | ✓ |
✘
(plug-in exists) |
GeoRSS supported
|
✓ | ✘ | ✘ | ✘ | ✓ |
3D supported
|
✓ |
✘
(plug-in exists) |
✓ |
✘
(plug-in exists) |
✘ |
Basemaps included
|
✓ | ✘ | ✘ | ✘ | ✓ |
Built-in Geocoding Methods
|
✓ |
✘
(plug-in exists) |
✓ | ✘ | ✓ |
Built-in Security Methods
|
✓ | ✘ | ✘ | ✘ | ✘ |
Proprietary
|
✓ | ✘ | ✘ | ✘ | ✓ |
Cost
|
Free if app uses ArcGIS Online or ArcGIS Enterprise services
|
Free
|
Free
|
Free
|
Free for a small amount of requests
|
Summary
|
A library tightly integrated within the ArcGIS ecosystem with tools familiar to GIS professionals.
|
A small library that is easy to start with that accomplishes most of the basic web map tasks with a large plug-in library.
|
A library focused on creating stunning 3D visualizations.
|
A library with all the features ever needed for a full fledge web map with a strong and supportive community.
|
A library that provides a familiar user experience with both the map and included widgets.
|
In practice: what is the best library for you?
When you start creating a web map you have to first choose which of the available libraries fits best for your purpose. It’s often hard to find one library that combines all of your wanted features. My advice: don’t rush this decision. Create a list prioritizing the most important features, interview users, use user stories and use every possible measure to ensure you pick the library that best fits your needs. Much like a foundation of a house, it’s difficult to remove a mapping library from your application once you have started.
How to meet all of your requirements with (only) one library?
As said, no single one library is capable of having all features. If your selected library is missing that one feature more often than not there’s a workaround. Many solutions are documented online and some others have to be created manually. If you need any advice on this, please feel free to contact me.
In the coming weeks I’ll show some ‘how to’s’ and the result with the different libraries. Please follow Tensing on LinkedIn to see any new post in your timeline.