Is there a way to use Mapbox GL JS for Free? - mapbox

I am hosting my own map tiles on my server. Is there a way to use Mapbox GL JS completely for free or do I have to pay for it anyway, when I am using the framework? Their website is a bit contradictive, on the one hand they have a pricing on the other hand they say it is an open source project, which is free. So I am confused.

Mapbox-GL-JS is completely free, up to version 1.13 (as in free beer, and also as in free speech). However, the Mapbox styles (and their associated resources, such as glyphs and sprites) are not, so you will need to find an alternative source, such as Maptiler for those.
From version 2.0 it is different. Any use of the Mapbox GL JS library consumes API credits, which are "free as in beer" up to a certain point, then paying. The source code is proprietary, open source (as in you can browse it) but not free (you are very limited in what you can do with it).

Since version 2.0, Mapbox gl js is no longer open source
However there are two open source forks of Mapbox GL libraries:
For javascript Maplibre GL JS
For Android and iOS Maplibre GL Native

Related

Mapbox Studio: landuse=residential not available?

I try to build a map for my stormchasing community. It is very important to see urban areas on the map. I tried to add a landuse=residential layer/filter but it seems Mapbox does not support this at all.
Any ideas or solutions on this?
You are correct that the Mapbox Streets v8 tileset does not contain a landuse=residential field. However, this type of data is available in OSM as shown here and can be downloaded using Overpass Turbo - you can refer to the "Add OpenStreetMap data to your Mapbox project" tutorial for steps on how to do that.
Once you've downloaded this data, you can upload it to your Mapbox account, add it as a new layer to your map, and style it accordingly.

react-leaflet with original leaflet plugins

It is more theoretical question, rather than some problem.
I'm planning to develop some wrapper for leaflet (encapsulate work with leaflet for other developer teams with some API in/out), and I'm wondering if to use react-leaflet or to use native leaflet library.
There is very long list of available plugins for leaflet, and as far as i see only +-10 of them implemented for react-leaflet.
From your experience, does all the original leaflet plugins works fine with react-leaflet? How often do you encountered with problem and which one are not working at all?
It should be possible to create a custom component for any react-leaflet extension.

Supporting older browsers (lte IE 10)?

As far as I can see, Mapbox GL JS is not supported by IE 10 and below. Correct?
I want to implement GL-JS for my site, but need to support these incompatible browsers, and am hoping to find an elegant solution, probably just showing them the mapbox tile layer I'm currently using.
I thought IE conditional comments would do it, but they only work up to IE9, leaving a gap where a lot of my users are.
I know I can use if (!mapboxgl.supported()) within the javascript function block, but I also need to conditionally load the javascript and css files. No point loading them both - would probably cause conflicts, and it's just plain dodgy.
So… suggestions?
Mapbox GL JS renders maps using WebGL which is only supported in IE11+
If compatibility is important, you have two options:
use Mapbox.js (raster tiles) in all cases
use Mapbox GL JS in supported browsers, use Mapbox.js in unsupported browsers
You can check for support without loading unnecessary Javascript or CSS files by using the mapbox-gl-supported module and loading additional JS and CSS files dynamically
var scriptElement = document.createElement('script');
scriptElement.setAttribute('src', 'https://api.mapbox.com/mapbox-gl-js/v0.20.1/mapbox-gl.js');
document.body.appendChild(scriptElement);

Displaying 3D Buildings in OpenLayers 3

I am using OpenLayers 3 to render OSM map data into WebBrowser control in my C#-WPF application. The reason for using OpenLayers v3 is that it supports map rotation.
The version of Internet Explorer is 10. This is a limitation for using OL3-Cesium for displaying 3D buildings on my map.
I have come across another library OSMBuildings for 3D buildings. This API works with OpenLayers 2 which unfortunately does not support map rotation.
I would like some help with using OSMBuildings with OpenLayers 3 or a workaround for OL3-Cesium API to work in Internet Explorer 10 or lower.
Cesium requires WebGL, which is not supported in Internet Explorer versions before 11. If you are required to use Internet Explorer 10 or lower, Cesium (or anything WebGL-based) is simply not an option.
While I'm not as familiar with OSMBuildings, I believe that getting it to work with OpenLayers 3 is a significant undertaking and would require large changes to the code base (though I could be wrong). You might want to chime in on this issue in their repository and ask for an official statement from the team.
Unless I'm wrong about OSMBuildings, there is no good answer here. Your best bet is to replace IE10 with embedded Chrome or Webkit (or require IE11), but that's probably a non-starter for you.

MapQuest Android API and Mapnik

I have implemented MapQuest's Android API. In the documentation for the general API it says when using the OpenStreetMap data it is possible to use "Custom map tiles via the Mapnik style files". I was wondering if that meant that you could host your own tile server running Mapnik and get the API to use those tiles or something else. There is no more mention of this in any of the documentation that I can find. Can someone help me clear this up please?
The reference to using Mapnik style files has to do with the fact that MapQuest offers the style files to developers who want to tweak them and then generate their own tiles based on OpenStreetMap data. This isn't specific to the Android API, however, and the Android API does not support custom map tiles. I apologize for the confusion (I work at MapQuest).
As I know, you are right and you can't use custom tile styles but custom UI styles (UI styles guide)