arcgis for js 展示地图图例

网友投稿 820 2022-09-29

arcgis for js 展示地图图例

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小时内删除侵权内容。

上一篇:总结分享一些小程序开发中遇到的问题(帮忙避坑)(微信小程序开发常见错误)
下一篇:深入解析小程序中的的双线程模型
相关文章

 发表评论

暂时没有评论,来抢沙发吧~