Mapbox提供了一个API,可下载供诸如Leaflet之类的工具使用的图块。 api遵循以下格式:
https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}
Mapbox还为自定义区域提供了切片估算器:
我们正在尝试构建一个实用程序,该实用程序将使用缩放级别3-13准确告诉我们该区域需要哪些图块。是否有一种方法可以生成一个{z},{x},{y}
坐标的列表,该坐标与纬度区域定义和有限的缩放范围(如上所示)相关联于mapbox的api?
我不知道mapbox的z,x,y系统如何与真实的纬度坐标(和缩放级别)相关联。在示例中查看网络请求时,确实看到了z
变量,范围为3-13,但是x,y
变量无处不在。
理想情况下,该函数应如下所示:
List<ZXYCoord> getAllCoordinates(long lat1, long lon1, long lat2, long lon2, int minZ, int maxZ)
{
var list = new List<ZXYCoord>();
int z = minZ;
while (z <= maxZ)
{
//DO SOMETHING HERE TO GET ALL (x,y) COORDINATES FOR THIS Z-LEVEL AND ADD TO LIST
//...
z++;
}
return list;
}
class ZXYCoord
{
public int x;
public int y;
public int z;
}
上面显示的估算器显示该区域大约有34,000个图块,因此我希望此函数与此相关。考虑到这些延迟的坐标,我希望其中包含约34,000个项目。如何处理那些经纬度坐标(和缩放级别)以提取Mapbox的x,y
坐标?