首页 / 浏览问题 / WebGIS / 问题详情
非标准比例下 标签文字的显示问题
48EXP 2024年08月27日

在 iclient-leaflet 中,创建地图组件时使用了
zoomSnap: 0.5,

zoomDelta: 0.5,
这2个参数,在缩放地图时,在非整数的情况下,它的标签显示变得不正常了。

如下所示:

请问这种问题该如何解决呢?

1个回答

您好,leaflet以非整数倍缩放时,它10.5和11出图的瓦片实际是同样的scale,如果您希望以比较小的倍数缩放,可以单独计算resolutions,比如第10层是,scale[0] * 2^10,那10.5时的分辨率就是 scale[0] * 2 ^10.5(2的10.5次方),这样可以精确加载10.5层的瓦片
961EXP 2024年08月28日
您好,单独计算resolutions应该怎么做呢?是在哪个地方设置

将resolutions添加到crs中,然后再将crs添加到map中,计算方式:

var res = [];
for (var i = 0; i < 10; i += 0.5) {
  if (i % 1 != 0)
    res.push( 156543.03392804097 / (Math.pow(2, i-0.5)) / 1.4142135); // 根号2
  else 
    res.push( 156543.03392804097 / (Math.pow(2, i)));
}
var crs = new L.supermap.Proj.CRS("EPSG:3857",
                {
                  origin: [-2.0037508342789244E7, 2.0037508342789244E7],
                  resolutions: res,
                  bounds: L.bounds([-2.0037508342789244E7, -2.0037508342789244E7], [2.0037508342789244E7, 2.0037508342789244E7])
                });

...