arcgis for js 展示地图图例

栏目: 编程工具 · 发布时间: 6年前

内容简介:arcgis地图展示过程中,展示图例是很平常的。问题是,要怎么展示。一般来说,只要给个图例控件就搞定了。但是,像动态图层(ArcGISDynamicMapServiceLayer)的图层展示,都是整个服务加载,然后指定一些图层是否可见,采用这种方式来展示这些图层。

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();

这样子之后,图例就不再是树形结构,而是一个个并列的结构,比较美观,也符合人们的使用习惯。

arcgis for js 展示地图图例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Trading and Exchanges

Trading and Exchanges

Larry Harris / Oxford University Press, USA / 2002-10-24 / USD 95.00

This book is about trading, the people who trade securities and contracts, the marketplaces where they trade, and the rules that govern it. Readers will learn about investors, brokers, dealers, arbit......一起来看看 《Trading and Exchanges》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具