zoukankan      html  css  js  c++  java
  • Cesium 动态绘制点线面(附源码下载)

    我写的这个点线面绘制融入了增删改的功能。
    其中可以通过手动点击地图进行动态绘制线面,也支持通过给定坐标数组来进行线面的增加。
    绘制好的线面,可以点击进行修改;
    以上介绍了我的大概的要给操作,下面以面的构建来进行代码解释;
    cesium中想动态构建线面,离不开的一个属性就是CallbackProperty。
    以下是部分核心代码:
    1、构建面核心代码
    此处面的postions用了callbackproperty,就可以进行动态绘制了,关于property的讲解可以参阅:https://www.jianshu.com/p/f0b47997224c

    createPolygon: function(obj) {
    var $this = this;
    return this.viewer.entities.add({
    polygon: {
    hierarchy: new Cesium.CallbackProperty(function() {
    return $this.positions
    }, false),
    clampToGround: obj.clampToGround || true,
    show: true,
    fill: obj.fill || true,
    material: obj.material || Cesium.Color.WHITE,
     obj.width || 3,
    outlineColor: obj.outlineColor || Cesium.Color.BLACK,
    outlineWidth: obj.outlineWidth || 1,
    outline: false || obj.outline
     
    }
     
    });
    },

    2、操作逻辑核心代码
    大致解释以下操作逻辑:
    首先是绑定了鼠标左击,当鼠标在地图上点击时,会保存点击的坐标,用于构建面。鼠标移动时,会动态显示面;
    鼠标右击时结束操作;

    更多详情见下面链接文章

    GIS之家小专栏此文章:Cesium 动态绘制点线面

    文章提供源码,对本专栏感兴趣的话,可以关注一波

  • 相关阅读:
    数据对象映射模式
    策略模式
    适配模式
    注册模式
    单例模式
    工厂模式
    PHP魔法方法的使用
    【转】通过 ulimit 改善系统性能
    HDMI相关知识
    中国三种3G网络频段
  • 原文地址:https://www.cnblogs.com/giserhome/p/11385599.html
Copyright © 2011-2022 走看看