前端框架选型是企业提升开发效率与用户体验的关键因素
820
2022-09-29
arcgis for js 展示地图图例
arcgis地图展示过程中,展示图例是很平常的。问题是,要怎么展示。
一般来说,只要给个图例控件就搞定了。
但是,像动态图层(ArcGISDynamicMapServiceLayer)的图层展示,都是整个服务加载,然后指定一些图层是否可见,采用这种方式来展示这些图层。
一个动态图层服务往往有许多子图层,子子孙孙,无穷匮也,是个树形结构。如果将整个图层服务都塞给图例控件,那出来的图例也是个树形结构。
var dynamicLayer = new ArcGISDynamicMapServiceLayer(mapServer, { id: serverName });//legend是图例控件legend.layerInfos.push({ layer: dynamicLayer,//整个图层服务塞给图例控件 title: " ",});legend.refresh();
通常,图例控件都放在地图中的某一角落,很小的一块,内容为树形结构很占地方;而且图层的树形结构,好多层是没有图例的,展示在图例控件中空白一片,非常不美观。
我解决的办法是并不将动态图层塞给图例控件,而是显示哪些图层,就展示哪些图层的图例。
var fl1 = new FeatureLayer(layerUrl1, {});//要素图层(FeatureLayer)可以单独加载某个图层var fl2 = new FeatureLayer(layerUrl2, {});legend.layerInfos.push({ layer: fl1, title: " ", id: id,});legend.layerInfos.push({ layer: fl2, title: " ", id: id,});legend.refresh();
这样子之后,图例就不再是树形结构,而是一个个并列的结构,比较美观,也符合人们的使用习惯。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~