源码分析之Openlayers中的Attribution属性控件

访问Openlayers网站(https://jinuss.github.io/Openlayers_map_pages/,网站是基于Vue3 + Openlayers,里面有大量的实践和案例。觉得还不错,可以在这里插入图片描述 给个小星星Star,鼓励一波 https://github.com/Jinuss/OpenlayersMap哦~

概述

本文主要介绍 Openlayers 中Attribution属性控件的源码实现,该控件也是 Openlayers 中三个默认控件之一。默认情况下,控件会显示在地图的右下角,可以通过控件的类名设置CSS属性控制。实际应用中该控件主要显示与图层源source相关的所有属性,一般用来显示版权说明等等。

源码分析

Attribution控件继承自Control类,关于Control类,可以参考这篇文章源码分析之Openlayers中的控件篇Control基类介绍

Attribution类控件源码实现如下

class Attribution extends Control {
   
   
  constructor(options) {
   
   
    options = options ? options : {
   
   };

    super({
   
   
      element: document.createElement("div"),
      render: options.render,
      target: options.target,
    });

    this.ulElement_ = document.createElement("ul");

    this.collapsed_ =
      options.collapsed !== undefined ? options.collapsed : true;

    this.userCollapsed_ = this.collapsed_;

    this.overrideCollapsible_ = options.collapsible !== undefined;

    this.collapsible_ =
      options.collapsible !== undefined ? options.collapsible : true;

    if (!this.collapsible_) {
   
   
      this.collapsed_ = false;
    }

    this.attributions_ = options.attributions;

    const className =
      options.className !== undefined ? options.className : "ol-attribution";

    const tipLabel =
      options.tipLabel !== undefined ? options.tipLabel : "Attributions";

    const expandClassName =
      options.expandClassName !== undefined
        ? options.expandClassName
        : className + "-expand";

    const collapseLabel =
      options.collapseLabel !== undefined ? options.collapseLabel : "\u203A";

    const collapseClassName =
      options.collapseClassName !== undefined
        ? options.collapseCla
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jinuss

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

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

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

打赏作者

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

抵扣说明:

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

余额充值