获取指定经纬度的 OpenStreetMap 图像

big*_*ose 4 web-services geospatial openstreetmap

如何使用 OpenStreetMap 服务(在线服务器)以编程方式获取街道地图图像,作为可下载的图像文件,仅从经纬度值和缩放系数?

我的应用程序有一组纬度-经度值,对于每个值,我需要一个 OpenStreetMap 图表——一个图像,而不是一个网页——在街道地图上用图钉显示位置。图像需要是单个 SVG 或 PNG,以便进一步离线处理。

我如何以编程方式构造一个 URL(例如http://www.openstreetmap.org/http://www.opencyclemap.org/或类似的服务),由经纬度值和可能的缩放因子参数化,这将返回我感兴趣的地图图像,包括指定位置的图钉?

Gil*_*anc 5

为了获取特定的图块,您必须向 URL 提供缩放、x 坐标和 y 坐标

这是 OpenStreetMap 的 URL

http://[abc].tile.openstreetmap.org/zoom/x/y.png 
Run Code Online (Sandbox Code Playgroud)

[abc] 表示您使用 a 或 b 或 c。这是 OpenStreetMap 服务器上的三个不同子域。

这是我使用缩放 11、x = 510、y = 844 拉下的图块

在此处输入图片说明

您必须将纬度和经度转换为 (x, y) 坐标。有关磁贴集的更完整说明和转换代码链接,请参阅此答案

您可以从 OpenStreetMap 服务器检索的图块数量有限。请务必缓存您检索的切片。