{"id":16153202,"url":"https://github.com/jameslmilner/terra-draw","last_synced_at":"2025-04-14T08:57:06.753Z","repository":{"id":45746999,"uuid":"514344893","full_name":"JamesLMilner/terra-draw","owner":"JamesLMilner","description":"A library for drawing on maps that supports Mapbox, MapLibre, Google Maps, OpenLayers and Leaflet out the box ","archived":false,"fork":false,"pushed_at":"2025-04-07T18:38:08.000Z","size":9719,"stargazers_count":659,"open_issues_count":36,"forks_count":67,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-12T01:11:52.717Z","etag":null,"topics":["draw","drawing","geodesic","geojson","geojson-editor","geometry","google-maps-api","leaflet","map","mapbox-gl","maplibre","maplibre-gl-js","maps","polygon"],"latest_commit_sha":null,"homepage":"https://terradraw.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JamesLMilner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["JamesLMilner"]}},"created_at":"2022-07-15T17:02:55.000Z","updated_at":"2025-04-11T10:08:07.000Z","dependencies_parsed_at":"2024-03-12T23:25:16.054Z","dependency_job_id":"1569033f-3a91-458d-99dd-3881f77733a2","html_url":"https://github.com/JamesLMilner/terra-draw","commit_stats":{"total_commits":423,"total_committers":21,"mean_commits":"20.142857142857142","dds":"0.14893617021276595","last_synced_commit":"2ebe71fdd16a4784619cfa47ca476fd97260dd0c"},"previous_names":[],"tags_count":92,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesLMilner%2Fterra-draw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesLMilner%2Fterra-draw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesLMilner%2Fterra-draw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JamesLMilner%2Fterra-draw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JamesLMilner","download_url":"https://codeload.github.com/JamesLMilner/terra-draw/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248852120,"owners_count":21171839,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["draw","drawing","geodesic","geojson","geojson-editor","geometry","google-maps-api","leaflet","map","mapbox-gl","maplibre","maplibre-gl-js","maps","polygon"],"created_at":"2024-10-10T01:10:33.347Z","updated_at":"2025-04-14T08:57:06.733Z","avatar_url":"https://github.com/JamesLMilner.png","language":"TypeScript","funding_links":["https://github.com/sponsors/JamesLMilner"],"categories":[],"sub_categories":[],"readme":"\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./assets/logo-dark-mode.png\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"./assets/logo.png\"\u003e\n  \u003cimg alt=\"Terra Draw logo\" src=\"./assets/logo.png\" width=\"400px\"\u003e\n\u003c/picture\u003e\n\n\u003cp\u003e\u003c/p\u003e\n\n![Terra Draw CI Badge](https://github.com/JamesLMilner/terra-draw/actions/workflows/ci.yml/badge.svg)\n[![npm version](https://badge.fury.io/js/terra-draw.svg)](https://badge.fury.io/js/terra-draw)\n\nFrictionless map drawing across mapping libraries.\n\nTerra Draw centralizes map drawing logic and provides a host of out-of-the-box drawing modes that work across different JavaScript mapping libraries. It also allows you to bring your own modes!\n\n![An example of drawing geodesic lines using Terra Draw with Leaflet](./assets/readme.gif)\n\n\n### Library Support\n\nTerra Draw uses the concept of 'adapters' to allow it to work with a host of different mapping libraries. Built-in adapters are currently exposed as different packages in this monorepo; you can find out more in [the adapters guide](./guides/3.ADAPTERS.md). The currently supported libraries are:\n\n|  Library                                                                                    | Version supported |           npm package            |\n|---------------------------------------------------------------------------------------------|-------------------|----------------------------------|\n|  [Leaflet](https://leafletjs.com/)                                                          |        v1         | terra-draw-leaflet-adapter       |\n|  [OpenLayers](https://openlayers.org/)                                                      |        v10        | terra-draw-openlayers-adapter    |\n|  [MapLibre GL JS](https://maplibre.org/maplibre-gl-js/docs/)                                |        v4/5       | terra-draw-maplibre-gl-adapter   |\n|  [Google Maps JS API](https://developers.google.com/maps/documentation/javascript/overview) |        v3         | terra-draw-google-maps-adapter   |\n|  [Mapbox GL JS](https://www.mapbox.com/mapbox-gljs)                                         |        v3         | terra-draw-mapbox-gl-adapter     |\n|  [ArcGIS JavaScript SDK](https://developers.arcgis.com/javascript/latest/)                  |        v4         | terra-draw-arcgis-adapter        | \n\n### Getting Started\n\nPlease see the [the getting started guide](./guides/1.GETTING_STARTED.md) - this provides a host of information on how to get up and running with Terra Draw.\n\n### Development \u0026 Contributing\n\n* For development, please see the [the development documentation](./guides/7.DEVELOPMENT.md)\n* For guidance on contributing, please see the [the contributing documentation](./guides/7.DEVELOPMENT.md#contributing)\n\n\n### Project Website\n\nYou can check out the official Terra Draw website at [terradraw.io](https://www.terradraw.io). If you are interested in contributing to the website please see [this repository](https://www.github.com/JamesLMilner/terra-draw-website).\n\n### Contact\n\nEmail: [contact@terradraw.io](mailto:contact@terradraw.io)\n\n### License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjameslmilner%2Fterra-draw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjameslmilner%2Fterra-draw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjameslmilner%2Fterra-draw/lists"}