delphi+openstreetmap

delphi, maps, openstreetmap

Solution

As I see it, there is 3 ways to do this :

Save all displayed tiles as a single image (could be done easily with a TWebBrowser, or TEmbeddedBrowser component) : you would navigate to the map address (OSM Mapping Server) based on given coordinates (top left corner), and then take a snapshot. You need to recalculate the base coordinates (top left corner) after each snapshot.

You need to understand how tiles are generated, wich is not quite difficult : basically, the scheme of osm tiles generation is as follow http://osmserver.org/tiles/tile/x/y/z.png Once you understand how it works, you could calculate tiles url by code and download'em one by one. For more info on the tiles generation scheme look here : good thread on manifold forum : http://forum.manifold.net/forum/t71011.13#75206 http://wiki.openstreetmap.org/wiki/Slippy_Map http://wiki.openstreetmap.org/wiki/Tiles%40home or if you need to go further : http://wiki.openstreetmap.org/wiki/OSM_Protocol_Version_0.5

download the entire OSM maps (available on the web) and use a VCL component to display them (Tatukgis DK...)

Best Regards, Mo3ez

Problem

is there a vcl or a project (in delphi) that would allow me to download OSM tiles and display them on an app? I have tried embedding an browser and it worked great but i need a way to display the maps offline.

Original source