• ArcGIS API For JS 之Symbol


    Symbol定义如何在GraphicLayer上如何显示点、线、面、文本,符号定义了几何对象所有的非地理特征方面的外观,例如图形的颜色,边框线样式,api中有许多的符号类,每个类都只允许你使用唯一的方式去制定符号。每种符号都用于一种特定的类型。

    一、几何对应类型

    几何类型对应的符号
    类型 符号
    SimpleMarkerSymbol、PictureMarkSymbol
    线 SimpleLineSymbol、CartographicLineSymbol
    SimpleFillSymbol、PictureFillSymbol
    文本 TextSymbol、Font

    二、SimpleMarkerSymbol

    1、构造函数

    new SimpleMarkerSymbol(style, size, outline, color)

    2、使用案例

    require([
      "esri/symbols/SimpleMarkerSymbol", "esri/symbols/SimpleLineSymbol", "esri/Color", ... 
    ], function(SimpleMarkerSymbol, SimpleLineSymbol, Color, ... ) {
      new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_SQUARE, 10,
        new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID,
        new Color([255,0,0]), 1),
        new Color([0,255,0,0.25]));
      ...
    });

    三、PictureMarkSymbol

    1、构造函数

    new PictureMarkerSymbol(url, width, height)

    2、使用案例

    require([
      "esri/symbols/PictureMarkerSymbol", ... 
    ], function(PictureMarkerSymbol, ... ) {
      var pictureMarkerSymbol = new PictureMarkerSymbol('http://www.esri.com/graphics/aexicon.jpg', 51, 51);
      ...
    });

    四、SimpleLineSymbol

    1、构造函数

    new SimpleLineSymbol(style, color, width)

    2、使用案例

    require([
      "esri/symbols/SimpleLineSymbol", "esri/Color", ... 
    ], function(SimpleLineSymbol, Color, ... ) {
      var sls = new SimpleLineSymbol(
        SimpleLineSymbol.STYLE_DASH,
        new Color([255,0,0]),
        3
      );
      ...
    });

    五、CartographicLineSymbol

    1、构造函数

    new CartographicLineSymbol(style?, color?, width?, cap?, join?, miterLimit?)

    2、使用案例

    require([
      "esri/symbols/CartographicLineSymbol", "esri/Color", ... 
    ], function(CartographicLineSymbol, Color, ... ) {
      var cls = new CartographicLineSymbol(CartographicLineSymbol.STYLE_SOLID, new Color([255,0,0]), 10, CartographicLineSymbol.CAP_ROUND, CartographicLineSymbol.JOIN_MITER, 5);
      ...
    });

    六、SimpleFillSymbol

    1、构造函数

    new SimpleFillSymbol(style, outline, color)

    2、使用案例

    require([
      "esri/symbols/SimpleFillSymbol", "esri/symbols/SimpleLineSymbol", "esri/Color", ... 
    ], function(SimpleFillSymbol, SimpleLineSymbol, Color, ... ) {
      var sfs = new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID,
        new SimpleLineSymbol(SimpleLineSymbol.STYLE_DASHDOT,
        new Color([255,0,0]), 2),new Color([255,255,0,0.25])
      );
      ...
    })

    七、PictureFillSymbol

    1、构造函数

    new PictureFillSymbol(url, outline, width, height)

    2、使用案例

    require([
      "esri/symbols/PictureFillSymbol", "esri/symbols/SimpleLineSymbol", "esri/Color", ... 
    ], function(PictureFillSymbol, SimpleLineSymbol, Color, ... ) {
      var pfs = new PictureFillSymbol('images/sand.png',
        new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID,
        new Color('#000'), 1),
        42, 42);
      ...
    });

    八、TextSymbol

    1、构造函数

    new TextSymbol(text, font, color)

    2、使用案例

    require([
      "esri/symbols/TextSymbol", "esri/Color", "esri/symbols/Font", ... 
    ], function(TextSymbol, Color, Font, ... ) {
      var textSymbol =  new TextSymbol("Hello World").setColor(
        new Color([128,0,0])).setAlign(Font.ALIGN_START).setAngle(45).setFont(
        new Font("12pt").setWeight(Font.WEIGHT_BOLD)) ;
      ...
    });

    九、Font

    1、构造函数

    new Font(size?, style?, variant?, weight?, family?)

    2、使用案例

    require([
      "esri/symbols/Font", ... 
    ], function(Font, ... ) {
      var font = new Font("20pt", Font.STYLE_ITALIC,
        Font.VARIANT_NORMAL, Font.WEIGHT_BOLD,"Courier");
      ...
    });

    十、总结

    每个类几乎都有三个构造函数,这里只介绍灵活性最大那个类,如果参数不给就是默认,symbol一般都会与render或者Graphic结合使用,前者渲染图层,后者渲染要素,未完待更新

  • 相关阅读:
    Python之路Day02
    Python之路Day01
    Python 常用单词
    JS-向数组添加元素
    JS-lambda表达式
    正则表达式问记录
    JDBC学习
    jquery常用选择器
    mongodb学习
    java8 lambda表达式
  • 原文地址:https://www.cnblogs.com/tuboshu/p/10752348.html
Copyright © 2020-2023  润新知