根据MapBox静态API中的功能大小来补偿分辨率更改

问题描述

我在一个项目中使用MapBox的静态API。无论分辨率如何,我都设法以纬度和经度加载具有相同宽度和高度的地图。这样,例如,无论用户的屏幕分辨率如何,用户都可以看到相同的区域。问题在于,在较大的分辨率下,尤其是相对而言,文本显得小得多。例如,这两个地图看起来非常相似,除了文本的大小(以及一些其他细节,例如线条的粗细)之外:

https://api.mapbox.com/styles/v1/mapbox/outdoors-v11/static/0.63189425,14.3/540x285@2x?access_token=ACCESS_TOKEN

enter image description here

https://api.mapbox.com/styles/v1/mapbox/outdoors-v11/static/0.63189425,13.15/240x126@2x?access_token=ACCESS_TOKEN

enter image description here

有没有一种方法可以弥补这一点,并且使较大图像上的文本打印得更大,并且线条更粗? (以像素为单位)。结果是,两个6英寸的屏幕以相同的实际大小(厘米)打印文本,而不管它们的像素数如何。

我已经研究了图层和过滤器,但是似乎没有一种简单的方法可以实现此目的。似乎可以设计新地图,但是我使用的是认地图,我不知道从哪里开始。

谢谢

解决方法

您在这里提出问题的前提让我有些困惑。 API的@2x parameter用于切换分辨率,并应完全满足您描述的目的。在共享的图像中包含不同数量的标签信息的原因是,因为您使用了不同的缩放值(13.1514.3),并且Mapbox核心样式中的标签是zoom-依赖,这意味着它们会根据用于生成地图的缩放值而变化。

具有固定的图像宽度,并且没有@2x参数:

/styles/v1/mapbox/outdoors-v11/static/0.63189425,46.195750258333334,14.3/540x285?access_token=ACCESS_TOKEN

产量

具有固定的图像宽度和一个@2x参数:

产量

/styles/v1/mapbox/outdoors-v11/static/0.63189425,14.3/540x285@2x?access_token=ACCESS_TOKEN

⚠️免责声明:我目前在Mapbox⚠️

工作