【收藏】Arcgis api4.x自定义控件、模拟arcgis api控件风格、使用arcgis api图标文字、实现控件位置自定义。

1.效果

2.实现 

2.1 自定义控件

模拟arcgis api风格的控件,只需要使用Esri提供的CSS类名;下面代码中,"esri-widget esri-widget--button esri-widget esri-interactive"类名控制控件的基本样式,"esri-icon-save"类名就是Esri的图标CSS类名,下面放出Esri图标字体查阅网址。

      自定义控件效果: 

<div
   id="saveLayer"
   class="esri-widget esri-widget--button esri-widget esri-interactive"
   title="保存图层"
>
   <span class="esri-icon-save"></span>
</div>
view.ui.add("saveLayer", "top-left");


Esri图标字体icon-default.png?t=N7T8https://developers.arcgis.com/javascript/latest/esri-icon-font/


2.2 预定义控件位置

Arcgis api提供了8个控件的摆放位置,分别是"bottom-leading" | "bottom-left" | "bottom-right"

 | "bottom-trailing" | "top-leading" | "top-left" | "top-right" | "top-trailing";

       这里演示指北针、图层列表、家控件的添加,这里需要注意的是,图例的上下位置是和代码前后执行顺序相关,例如添加指北针控件的代码比加载图层列表控件的代码先执行,因此指北针控件肯定在图层列表控件的上方。

 // 指北针
  var compass = new Compass({
    view: view, // 绑定到地图视图
  });
  view.ui.add(compass, "top-left");
  // 图层列表
  view.ui.add(
    new Expand({
      view: view,
      content: new Legend({
        view,
      }),
      expandIcon: "list-bullet",
      expanded: false,
    }),
    "top-left"
  );
  // 家
  view.ui.add(
    new Home({
      view,
    }),
    "top-left"
  );

2.3 自定义控件位置

不使用预定义的控件位置,可以使用"manual"控制位置。使用"manual"允许你将组件放置在一个容器中,你可以使用css将它放置在任何地方。但是,使用"manual",就需要自己准备控件容器,如何准备控件容器,在上文的实现自定义控件有讲解。

view.ui.add("saveLayer", "manual");
#saveLayer{
  position: absolute;
  left: 50%;
  bottom: 50%;
}

(创作不易,如果文章对你有帮助,可以点个赞鼓励下博主噢!)

问题咨询Q:1476701700

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WebGIS皮卡茂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值