FOSS4G 2023

Introducing Terra Draw: A JavaScript Library To Draw On Any Web Map
06-29, 10:30–11:00 (Europe/Tirane), Drini

If you have ever had the experience of having to write code to draw on web maps, you'll know how painful the process can be - especially when situations get more complex.

Terra Draw is an open source JavaScript library that provides a new way to add drawing functionality to a host of web mapping libraries, including Leaflet, OpenLayers, Google Maps, MapboxGL JS and MapLibreGL JS.

The library provides a selection of built in modes that 'just work' across different mapping libraries. These features include elementary drawing tools like point, line and polygon, as well as supporting more advanced concepts like snapping, rotation and scaling.

Terra Draw is also designed to be extendable so that you can write your own custom modes and adapters (thin wrappers for each mapping library). The architecture of the library means that any mode work can work with any adapter and vice versa creating a strong multiplier affect as new modes and adapters are written. This decoupling has the added benefit that drawing libraries can be swapped out without breaking your app!

The talk will examine the history of the library, how to get started, and also an opportunity to hear more about the future of Terra Draw.

James currently works a Senior Software Developer at NearForm - a consultancy with a specialism in JavaScript and Open Source. He has a passion for geospatial, having previously worked for companies such as Esri UK and Ordnance Survey. During his spare time he tries to write content for his personal blog, mentor and give talks where possible. He is currently a Google Developer Expert for Web Technologies.