顶部的传单标签

问题描述

我对传单很陌生,想要一些建议。我使用 UN Clear map 作为底图,我使用 GeoJSON 层向其中添加了一些多边形。我学到了一个很好的技巧 here,使用地图窗格来获取多边形顶部的标签。我正在尝试使用 UN Clear Map 重新创建它,但标签保留在多边形下方。我没有收到任何错误消息。我想我可能没有正确引用标签层,但不知道该怎么做。

简化代码

map = L.map('map',{
    minZoom: 3,maxZoom: 10,worldcopyJump: true
    });

map.createPane('labels');
map.getPane('labels').style.zIndex = 850;

const mapLayer = esri.tiledMapLayer({
    url: "https://geoservices.un.org/arcgis/rest/services/ClearMap_WebTopo/MapServer/",}).addTo(map);
map.setView([0,0],3);

const colorLayer = (L as any).geoJSON(GeoJsonData,geoJsonoptions).addTo(map);

const labelLayer = esri.tiledMapLayer({
    url:'https://geoservices.un.org/arcgis/rest/services/ClearMap_WebTopo/MapServer/0',pane: 'labels'}).addTo(map);

解决方法

@IvanSanchez 是正确的。如果您查看此图层 (https://geoservices.un.org/arcgis/rest/services/ClearMap_WebTopo/MapServer) 的地图服务定义,您将看到支持动态图层:false。据我所知,这意味着子层不能被挑出并构建到新的动态层中。您可以在此处阅读更多相关信息:esri TileLayer capabilities

不幸的是,您要么需要使用它们的底层数据作为要素图层从头开始构建这些图层(这是一项荒谬的工作,我一点也不推荐它),或者您将不得不寻找其他底图/ 标记您喜欢的图层。

我确实设法在 ArcGIS Online here 上找到了看起来像 baselayer 的东西,但它似乎不对公众开放。我实际上会联系您引用的联合国网站,看看那里是否有人知道您如何才能访问 baselayer。可能上面的任何参考层都可以。

对于这个坏消息很抱歉。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...