Leaflet 如何确保标签与GeoJSON对齐

Leaflet 如何确保标签与GeoJSON对齐,leaflet,mapbox,mapbox-gl-leaflet,Leaflet,Mapbox,Mapbox Gl Leaflet,我有一个非常大的地图项目,它使用标签(并且只使用mapbox中的标签。也就是说,我没有从mapbox中获取任何边界或地形。) 我使用mapbox gl传单将这些矢量图块放入传单中 一般来说,一切都很好。但是,一旦地图的高度超过宽度,标签就不再与国家对齐(这些国家已使用GeoJSON绘制为多边形)。下面是发生的情况的图片,下面是相关代码 任何想法或见解都会有所帮助。下面是引入分幅的代码: settings.globalVariables.labelTiles = L.mapboxGL({

我有一个非常大的地图项目,它使用标签(并且只使用mapbox中的标签。也就是说,我没有从mapbox中获取任何边界或地形。)

我使用mapbox gl传单将这些矢量图块放入传单中

一般来说,一切都很好。但是,一旦地图的高度超过宽度,标签就不再与国家对齐(这些国家已使用GeoJSON绘制为多边形)。下面是发生的情况的图片,下面是相关代码

任何想法或见解都会有所帮助。下面是引入分幅的代码:

settings.globalVariables.labelTiles = L.mapboxGL({
    accessToken: myAccessToken,
    style: 'mapbox://styles/markslawton/ckgsqyzhi0diy19rwi98mlt4g',
   pane: 'labels',
}).addTo(settings.globalVariables.map);
以下是创建地图的代码:

 Window.map = settings.globalVariables.map = new L.map('map', {
        zoomControl: false,
        zoomDelta: settings.map.zoomDelta,
        zoomSnap: settings.map.zoomSnap,
        minZoom: settings.map.minZoom,
        maxZoom: settings.map.maxZoom,
        dragging: true,
        trackResize: true,
        attributionControl: false,
        // maxBounds:[[-90,-180],[90,180]] 
    });

我不是100%确定,但我怀疑问题在于地图的南北边界。Mapbox被限制在Web Mercator投影上,该投影在大约85º/-85º纬度处达到顶点。从你这里的图像判断,你正试图显示出那里以北的纬度


您可能需要用更紧的边界约束地图的边界,或者增加最小缩放,这样就不会出现这种情况。

谢谢。这是有道理的。问题是我并没有要求在纬度上有这么大的范围。(我的边界框是:[-56.0,-118.0],[68.0,175])传单本身正在添加所有额外的内容,以便经度范围(-118 175)适合屏幕宽度。所以,我不知道如何继续。我怎样才能让传单在不超过-8585的情况下发送到pad???嗨,史蒂夫,这是你要的密码笔。除了阿尔及利亚、冰岛、安道尔和阿富汗的标签和GeoJSON外,所有内容都已被删除。正如您将看到的,当您更改setView时,标签相对于多边形移动,但从不对齐。