Leaflet 在esri传单矢量插件中,矢量图块显示在错误的位置和比例

Leaflet 在esri传单矢量插件中,矢量图块显示在错误的位置和比例,leaflet,mapbox,arcgis,vector-tiles,esri-leaflet,Leaflet,Mapbox,Arcgis,Vector Tiles,Esri Leaflet,我正在使用esri-leaflet@3.0.0以及传单1.7.1和esri传单载体插件 当我添加VectorTileServer层时,渲染的平铺显示在错误的位置和比例。我哪里做错了 VectorTileServer在Web Mercator“空间参考”中发布:{“wkid”:102100,“latestWkid”:3857} 塔卡看了看挪威 它显示在错误的位置和比例错误 const map=L.map('map').setView([50,18],3); L.tileLayer('https

我正在使用esri-leaflet@3.0.0以及传单1.7.1和esri传单载体插件

当我添加VectorTileServer层时,渲染的平铺显示在错误的位置和比例。我哪里做错了

VectorTileServer在Web Mercator“空间参考”中发布:{“wkid”:102100,“latestWkid”:3857}

塔卡看了看挪威

它显示在错误的位置和比例错误

const map=L.map('map').setView([50,18],3);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{
属性:“©;贡献者”
}).addTo(地图);
L.esri.Vector.vectorTileLayer(“https://services.geodataonline.no/arcgis/rest/services/GeocacheVector/GeocacheGraatone_WM/VectorTileServer", {
风格:(风格)=>{
style.layers.forEach(函数(层){
if(图层布局['text-rotate']){
layer.layout['text-rotate'].stops=[[0,0]]
}
});
返回样式
}
}
).addTo(地图)
body{margin:0;padding:0;}
#地图{
位置:绝对位置;
排名:0;
底部:0;
右:0;
左:0;
字体系列:Arial、Helvetica、无衬线字体;
字体大小:14px;
颜色:#323232;
}

血沉小叶

我注意到您使用的这个图层的一点是,每个缩放级别的缩放属性似乎都处于关闭状态。从

必须使用和Google地图、Bing地图和ArcGIS Online使用的默认比例选项发布地图服务。Esri传单不支持瓷砖层的任何其他空间参考

如果您去arcgis,他们有一个示例,其中有一个示例矢量平铺层:。如果打开该平铺服务器url,您将看到JSON属性
lods

"lods": [
  {
    "level": 0,
    "resolution": 78271.51696399994,
    "scale": 295828763.795777
  },
  {
    "level": 1,
    "resolution": 39135.7584820001,
    "scale": 147914381.897889
  },
  {
    "level": 2,
    "resolution": 19567.87924099992,
    "scale": 73957190.948944
  },
  ...
}
我将假设这些是esri传单接受的默认比例,考虑到这些是在其示例向量平铺层中使用的比例。它们也列在这里:

如果打开要用于norway的图层的,您将看到相同的,但比例数字似乎缩小了一个缩放级别:

"lods": [
  {
    "level": 0,
    "resolution": 156543.03392800014,
    "scale": 591396864
  },
  {
    "level": 1,
    "resolution": 78271.51696399994
    "scale": 295698432,
  },
  {
    "level": 2,
    "resolution": 39135.75848200009,
    "scale": 147849216
  },
  ...
这就是为什么挪威图层是错误的,但至少在所有缩放图层上都是错误的(这意味着它总是显示在同一个错误的位置,大小是它应该的一半)

如果你能控制/连接为该层服务的人,我会让他们知道他们的缩放级别是错误的

同时,可能有一种方法可以覆盖esri传单在加载该层时使用的JSON,但这将是大量挖掘源代码的工作,而且非常粗糙