I am using the Mapbox Static Image API to show users an image of a slice of a map relating to the page they are viewing. Our users are from many countries and expect properly localized country, city names etc.
Question
Is it possible to set the language of all labels in a Mapbox Static Image somehow?
I think I can achieve this by creating a Mapbox Studio Style for each language we want to support, but we have quite a lot of customization in our custom style so I would rather avoid having to manually maintain a version for all supported languages.
I have tried using the playground https://docs.mapbox.com/playground/static/ and also read through the documentation, without finding anything reminiscent of setting the locale
I think your only option is to create multiple styles for each language you want to support.
You probably use a call like this to get your map:
/styles/v1/{username}/{style_id}/static/{overlay}/{lon},{lat},{zoom},{bearing},{pitch}|{auto}/{width}x{height}{#2x}
Use javascript to find your users browser preferred language: How to get the browser language using JavaScript
and change your {style_id} to the requested language.
Another option that comes to mind is to try to use multiple layers.
All the background data and (complex) style in one layer, and make a separate layer with your labels. This way you only need to have different styles for your labels and the maintenance will be less of a hassle.
Related
I can't seem to find this anywhere - there's examples with open street maps, and hints to using mapbox but otherwise I'm wondering what other maps and url's are available?
This one gives a lot of examples (taken from above comments gis.stackexchange link) : https://leaflet-extras.github.io/leaflet-providers/preview/
The must is that you can preview everything.
There is definitely no such exhaustive list of Tile Providers, but there are plenty other resources listing quite a bit of options.
Strangely, it indeed looks like they cannot be found under such an explicitly stated question yet.
Here are a few:
R leaflet Language of the map : Can we specify to use English language
How to use a different tile provider in openlayer3
on GIS Stack Exchange: https://gis.stackexchange.com/questions/184125/alternative-basemaps-for-leaflet/268290
and of course the official Leaflet plugins page, which has a section for basemap providers: https://leafletjs.com/plugins.html#basemap-providers
The main reference with very nice live preview is the leaflet-providers demo page (although you do not need to use that plugin at all in the end):
https://leaflet-extras.github.io/leaflet-providers/preview/
An extension to Leaflet that contains configurations for various free1 tile providers.
And with the note (emphasis mine):
What do we mean by free?
1 We try to maintain leaflet-providers in such a way that you'll be able to use the layers we include without paying money. This doesn't mean no limits apply, you should always check before using these layers for anything serious.
I use a Mapbox dataset converted to a tileset to show features on a map. I would like to add a search facility which goes through all the features in the dataset (not only the one shown on the screen which I could search locally thanks to queryRenderedFeatures).
I do not see how to do this without implementing my own search facility server side. I would like to avoid that because it would mean my dataset needs to be stored at two different places (on Mapbox and on my server).
In this related question, someone suggested to use querySourceFeatures but it only checks features in the currently visible viewport.
Did I miss any search through dataset facility offered by Mapbox ?
You could use the Datasets API to download you whole GeoJSON dataset to the client, then using the mapbox-gl-geocoder's localGeocoder option implement you own custom search.
for my next project I'm looking for maps, that contains only frontiers of countrys, lakes, hills ans rivers.
Can I get such kind of maps with the OpenStreet-API?
best regards
The "OpenStreetMap API" provides map data, not map images. So, for the imagery you want, you either need to find a source that renders the style you want, or render your own.
I don't know of any services that provide exactly the render that you're looking for. However, it should be very easy to render your own tiles that do this - if you install TileMill and follow through the tutorial, you will find it very easy to delete layers from the default style until no names are included in the style.
Note that if you're planning on running a web service, you'll also need to serve your special new map tiles to your users.
I checked their website and apart from the gallery I couldn't find anything prosper.
For example, Google has Control Wrappers. What are the controls I can adhere to FusionCharts or would I have to go with third-party controls or build my own custom Control Wrappers?
Using FusionCharts, updating or changing the data passed to the chart will result in re-rendering of the chart, unlike with Google Charts' ControlWrapper. They serve different purposes, and there are some significant differences to consider.
Do take a look at http://www.fusioncharts.com/javascript-charting-comparison/ to understand the various options for charting.
Simply, FusionCharts is purely a charting outsource component they only provide the charts- rendered from 2 data formats- XML/JSON provided to it.
As of now, they don't provide any Web Controls.
I suggest you to create the same using Coding and Integrate the chart there.
Hope ths helps!
I have some data that is displayed in a bar chart, using Google's Visualization API. Was simple enough until designers redesigned it... Now it appears to be something that is beyond what Google can help me with.
Given the attached mockup (and note the finer details like reflection and gradients!)- how would you go about building it? Using some existing graphing libraries? Homebrew from the ground up?
Thanks for any advice.
If you need to adhere to the custom design requirements as depicted in the image above, I would build a charting application using a more generalized graphics library such as Rapheal.
While it doesn't provide a simple API for plugging data into a chart, it does provide the ability to build a chart with the following:
a variety of shapes (i.e. the bars)
gradients
embedded images (i.e. the background)
You can change the visual effect using CSS.
Ofcourse you can use chuckx recommendation of Rapheal which is a SVG based Javascript Library. It can accept JSON values so say if you have JSON from Google API you could feed in directly.
Option 2 : HTML Canvas. There are lot of HTML 5 canvas libraries like Kinect, fabric.js powerful javascript canvas libraries