Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

OpenStreetMap.org's tileservers don't supply retina tiles. But OSM's tileservers are effectively a tech demo and a resource for mappers, not a user-facing service. If you're building a consumer-grade product, you're expected either to use OSM data to render your own tiles, or use a third-party provider which provides tiles based on OSM data (such as Thunderforest, Geofabrik or Mapbox). Leaflet, as the client-side JS part of your mapping solution, can happily show retina tiles from such a provider or your own tileserver.


sort by: page size:

Leaflet supports retina tiles, they're just not used on the frontpage example because default OSM tile service doesn't provide them, and we don't use other providers on that example for the sake of simplicity (to keep it as short as possible).

It's not hard to produce your own tiles from OpenStreetMap data and serve them from your own server using something as Leaflet. If you only need to show maps, and if OSM data is good enough in your part of the world (a big if), this is the way to go.

What is very hard is coming up for a replacement of either geocoding/reverse geocoding, or routing; many solutions exist but most don't really work or are quite difficult to setup (IMHO).

Best of luck!


Leaflet.js is just the client piece. You still need a tile server, which is one of the commercial services being offered here.

While you _can_ use the OSM's tile servers, they offer no guarantees: https://operations.osmfoundation.org/policies/tiles/

They also have ongoing operational problems/expenses from people using their tile servers, and it's possible that they will one day break you in order to keep their own site functioning.


OSM is really a dataset. They do offer a raster tile server, but it's intended to support community mapping (improving the dataset), and not necessarily for end users using a map for other purposes.

Basically they want you to host your own tile server using the OSM dataset. There are also commercial offerings that do this for you, but not for free.


Leaflet doesn't provide tiles, but lets you get tiles from a variety of sources including OSM, & Mapbox, so you still need a tile provider, or need to render your own tiles.

I’m surprised nobody has mentioned tiles here. In order for anyone to build products around OSM data you’re probably going to want to render a map. Tile hosting services are costly and I have up last time I tried to find out how you could do it yourself.

That is usually out of the question, because raster tiles don't allow you to customize the map (colors, which features to display at which zoom levels, etc). I find openstreetmap way too busy as a backdrop for data.

As I've said, the solutions are there, and there is an actual demand for cheap vector tile hosting without all of the other cruft that is bundled in the commercial solutions but isn't actually needed.


No; at present the osm.org tiles aren't generated at a retina scale.

This is most likely to be fixed in the medium term by moving to vector rendering via WebGL et al.


Leaflet is a nice javascript library for slippy maps, but you still need to bring your own tileserver (OSM is not free to embed for anything beyond light usage I believe)

OpenStreetMap tiles maybe?

Yeah we are considering serving tileset downloads there. It should be easier to get OpenStreetMap data for your offline or on-premises map.

Maybe check out Leaflet: http://leaflet.cloudmade.com/

It works with many different tile providers, including OSM.


Interesting!

I note that:

> OpenStreetMap ... standard tile layer ... openstreetmap-carto ... is based on dynamic rendering of raster images, instead of vector tiles that can be customized on the client.

so, does OSM really not make vector tiles available? That's too bad.


Really interesting project/product! It's really nice to see new ways of rendering OSM data, and alternative map services.

I am developing another way to run your own map server (without mapnik!) from a low-end computer (https://github.com/jamesrr39/ownmap-app in case you're interested), but a little bit different to you in that I'm currently focusing on rendering raster tiles. I'm really happy I saw this thread, however, I hadn't heard of the OSM Express, MBTiles or PMTiles formats before and was/am rolling my own format, so it's really interesting looking at some ideas from these.

Thanks again for sharing your project!


Your own personal map tile server? That's interesting... what are you planning to achieve that you can't just get from openstreetmap.org? Will you run an instance of graphhopper or project-osm alongside?

Post author here! Yes, most apps have to create their own tile or download server at the moment. We’re hoping that our tiles will be useful to the greater ecosystem, in the same way that our current raster tiles get used everywhere.

The nice people at https://download.geofabrik.de provide daily country-level OpenStreetMap extracts in the Shortbread schema, which is the same schema that we are going to use for our live tiles.


I generated my own vector tiles using OpenMapTiles. Planetiler looks very promising too.

I serve the tiles using TileServer GL Light. It works but it requires Node.js v10.

OpenStreetMap is planning to make their own vector tiles style to convert their raster tiles. Looking forward to that! https://github.com/openstreetmap/operations


This is very correct, but for 100k requests a month it's free to use their API (https://www.maptiler.com/cloud/) [1].

If you want some of the features you mention rendered in your application you probably have to "Generate your own vector tiles from selected OpenStreetMap tags" as they also mention on their website.

[1] I'm not even a customer of them, just browsing their website.


Keep in mind that the tiles shown by default on the OpenStreetMap website are just an example rendering. Anyone can take the OpenStreetMap data and use it to render a map with different cartographic choices.

There's even several other example renderings that can be easily accessed on the website, for example

https://www.openstreetmap.org/#map=9/40.5253/-74.2003&layers...

next

Legal | privacy