mapbox-gl-js
OpenLayers3
Our great sponsors
mapbox-gl-js | OpenLayers3 | |
---|---|---|
10 | 47 | |
9,515 | 9,730 | |
1.6% | 1.3% | |
9.8 | 9.9 | |
3 days ago | 3 days ago | |
JavaScript | JavaScript | |
GNU General Public License v3.0 or later | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mapbox-gl-js
-
Getting Started with MapLibre GL JS
It originated as an open-source fork of Mapbox-gl-js before they switched to a non-open-source license on 8th December 2020.
-
Reimagining projections for the interactive maps era
> too bad it doesn't come with some code
Mapbox changed the license of their code last year I think to a proprietary one. https://github.com/mapbox/mapbox-gl-js/blob/main/LICENSE.txt
It requires a mapbox user license with billing enabled to use this code, let alone make modifications. But the source is viewable on github.
-
MapLibre GL is a free and open-source fork of mapbox-gl-JS
From https://github.com/mapbox/mapbox-gl-js
> Mapbox gl-js version 2.0 or higher (“Mapbox Web SDK”) must be used according to the Mapbox Terms of Service. This license allows developers with a current active Mapbox account to use and modify the Mapbox Web SDK. Developers may modify the Mapbox Web SDK code so long as the modifications do not change or interfere with marked portions of the code related to billing, accounting, and anonymized data collection. The Mapbox Web SDK only sends anonymized usage data, which Mapbox uses for fixing bugs and errors, accounting, and generating aggregated anonymized statistics. This license terminates automatically if a user no longer has an active Mapbox account.
Seems their client code does some things related to "billing, accounting, and anonymized data collection" and they don't want programmers to disable or modify that code.
Is that right? Anyone who has followed this have more information? I haven't used mapbox in a few years but I think it's great technology.
The software stopped being open source from v2 onwards. The new licence makes it merely shared source.
This GitHub issue where this change is announced provides a number of more in-depth explanations why this is a bad thing for most users of the software: https://github.com/mapbox/mapbox-gl-js/issues/10162
-
Ask HN: What Are You Working On?
It's a bummer mapbox isn't open source anymore, now you're (and lots of other peoplare) are stuck pre-2.0.0 :(
https://github.com/mapbox/mapbox-gl-js/blob/main/CHANGELOG.m...
-
Top Javascript Maps API and Libraries
Web-site: https://www.mapbox.com/ GitHub stars: 6.1k, https://github.com/mapbox/mapbox-gl-js Pricing: Free, starts from $2.40 for 1000 loads Map Data Source: Mapbox Dependencies: None License: Mapbox copyright Category: Web Application Examples: https://docs.mapbox.com/mapbox-gl-js/examples/
OpenLayers3
-
What do Jr Devs who get hired ACTUALLY know these days? And how proficient are they?
Sticking with the roofing theme, you could make an application that shows shingle delivery truck drivers their stops on a map. It would be cool if the user could click on the stop and move it through varying statuses such as pending, en-route, completed or canceled, view the items in the order, and have it send your user a message when the statuses change. It might also be kinda cool if you could allow the delivery driver to start their shift, break for lunch, and end their day. You could have manager users that could log into your site too and export the timesheets for all or a subset of the drivers. You could even use something like d3.js or chart.js to give the managers insights into driver productivity. Some of the data may have to be mocked but it could be a fun project. After a brief search I found this https://openlayers.org open source js map library that could be cool to work with. In the past I have worked with the google maps api which wasn’t terrible. Make sure to set up some testing and a CI/CD pipeline. While not strictly required I think it would go along way to demonstrate that you are well rounded and will prepare you for working with them in the industry.
-
Amazon Location Service and AWS Amplify to Use Various Map Library
I will build a location-based application using and comparing three open-source map libraries: MapLibre GL JS, OpenLayers, and Leaflet.
-
Self Hosting a Google Maps Alternative with OpenStreetMap
Seems like MapTiler is maintaining an open source full stack vector alternative, and OpenLayers[0] looks good as well, so maybe it's time for legacy libraries to add vector support, or for users to switch libraries? There's even bindings from Maplibre GL to Leaflet [1].
I at least would find it interesting to see the two compared by someone other than me ;).
-
Driving heat map through vehicle telematics
If you decide to go the web based route; openlayers is a pretty solid library for doing maps on the web and has support for building custom controls like the route toggle you describe.
- Experiences in making/animating a transit map in QGIS using GTFS data?
-
Vite Support for Various Map Library Starters
References Amazon Location Service Turf.js MapLibre GL JS Leaflet OpenLayers Cesium Mapbox GL JS
-
Is there an android app that I can make zoom this much into a map. In a way taht I can have a whole country that I can zoom in until I reach a single room? And that would be able to handle several locations?
There's libraries to serve images google-maps style , like leaflet, openlayers, OpenSeadragon to name just a few. They aren't as smooth as the video you show, and you have to prepare the images.
-
[Remote] Open Source Web Map Developer with Colorado State University / National Park Service
We're looking to expand our team that develops the National Park Service web maps. We have some big upgrades planned, and we need someone who can help with JavaScript/TypeScript, Leaflet/Mapbox-gl-js/Maplibre-gl-js/OpenLayers, and other cool FOSS4G tools. We are fully remote, but USA only.
-
Open Source Interactive Web Map creation?
I like openlayer. I think a lot of web mapping libraries are aimed at front end web devs and so a lot of concepts are simplified or just different.
-
The challenges of rendering an OpenLayers map in a popup through React
import type OlMap from 'ol/Map' import type { PopupPlugin } from '../types' type Params = { map: OlMap /** * The container that must always be available to allow the map rendered in the popup to * immediately switch back to the main window when the popup close. Theoretically, this is not * necessary since OL already answered to this issue https://github.com/openlayers/openlayers/issues/13525 * but the mentioned solution sometimes does not work for the markers (but always works for the * other layers). The bug happens in our own code since in this CodeSandbox * https://codesandbox.io/s/external-map-bug-markers-jew6cd?file=/main.js:2021-2043 * you can see that both the standard layers and the marker one always work. */ mainWindowTemporaryContainerId: string } /** * Create a popup plugin that works around the map limitations when being moved to a popup. */ export function createMapPopupPlugin(params: Params) { const { map, mainWindowTemporaryContainerId } = params const plugin: PopupPlugin = { // -------------------------------------------------- // POPUP CLOSE // -------------------------------------------------- onClose: () => { const currentTarget = map.getTarget() // The map is not mounted yet if (!currentTarget) return // With the introduction of the Extracted Map, the map's target could not be a string anymore. if (typeof currentTarget === 'string') return const mainWindowTemporaryContainer = getMainWindowTemporaryContainer( mainWindowTemporaryContainerId, ) const mapWasInPopup = currentTarget.ownerDocument.defaultView !== window if (!mapWasInPopup) return // Immediately set the map target to a temporary container of the main window to avoid render // errors with the map layers. // ATTENTION: setting the target to a main window element must be performed synchronously whrn // the popup closes! map.setTarget(mainWindowTemporaryContainer) }, } return { plugin } } function getMainWindowTemporaryContainer(id: string) { const container = document.getElementById(id) // Prompt the developer in case of missing temporary container if (!container) { throw new Error('No temporary map container available') } return container }
What are some alternatives?
maplibre-gl-js - The open-source fork of Mapbox GL JS: Interactive maps in the browser, powered by vector tiles and WebGL.
Leaflet - 🍃 JavaScript library for mobile-friendly interactive maps 🇺🇦
Cesium - An open-source JavaScript library for world-class 3D globes and maps :earth_americas:
cesium - An open-source JavaScript library for world-class 3D globes and maps :earth_americas: [Moved to: https://github.com/CesiumGS/cesium]
ffprobe-wasm - A Web-based FFProbe. Powered by FFmpeg, Vue and Web Assembly!
h3 - Hexagonal hierarchical geospatial indexing system
vue3-openlayers - Web map Vue 3.x components with the power of OpenLayers
tangram - WebGL map rendering engine for creative cartography
electron-browser-shell - A minimal, tabbed web browser with support for Chrome extensions—built on Electron.
mapbox.js - Mapbox JavaScript API, a Leaflet Plugin