zoukankan      html  css  js  c++  java
  • arcgis jsapi接口入门系列(4):用代码在地图画点线面

    PS:用代码画点这样写是为了跟后面的用鼠标画点线面区分出来

    画点

            drawPointGraphic: function () {
                //点有多种样式:一般的点,显示文字,显示图片
    
                //一般的点
                let wkt = "POINT(113.566806 22.22445)";
    
                //样式
                //PS:其他高级样式配置请看样式的章节
                let style = {
                    //点样式,值有:circle=圆,cross=十字,diamond=菱形,square=正方形,x=X
                    style: "circle",
                    //点填充颜色
                    color: "blue",
                    //点大小
                    size: "8px",
                    //边框线样式,具体同线的样式
                    outline: {
                        color: [255, 255, 0],
                         3
                    }
                };
    
                //通过wkt生成线图形(graphic)
                //PS:图形(graphic)是一个可以加载到地图或图层的几何对象,包括的几何对象的坐标,样式,属性字段值等
                // * @param apiInstance api
                //     * @param wkt wkt
                //     * @param style 样式
                //     * @param sr 空间参考
                //     * @param attributes 属性字段值(可空)
                let graphic = mapUtil.geometry.wktToPointGraphic(this.apiInstance, wkt, style, this.mapView.spatialReference, null);
    
                //把图形添加到地图的图形集合
                //PS:图形要在地图上显示,可以添加到两种地方。一是mapView的graphics,这是地图的图形容器。第二是创建图形图层(GraphicsLayer),然后把图形加入到图层里
                this.mapView.graphics.add(graphic);
    
                //显示文字的点
                wkt = "POINT(113.57418 22.22342)";
    
                //样式
                //PS:其他高级样式配置请看样式的章节
                style = {
                    //字体颜色
                    color: "black",
                    //文字内容
                    text: "文字demo",
                    //字体样式
                    font: {
                        //字体大小
                        size: 12,
                        //字体名称
                        family: "sans-serif",
                    }
                };
    
                //wkt转点的文字的图形(graphic)
                //PS:图形(graphic)是一个可以加载到地图或图层的几何对象,包括的几何对象的坐标,样式,属性字段值等
                // * @param apiInstance api
                //     * @param wkt wkt
                //     * @param style 样式
                //     * @param sr 空间参考
                //     * @param attributes 属性字段值(可空)
                graphic = mapUtil.geometry.wktToTextGraphic(this.apiInstance, wkt, style, this.mapView.spatialReference, null);
    
                //把图形添加到地图的图形集合
                //PS:图形要在地图上显示,可以添加到两种地方。一是mapView的graphics,这是地图的图形容器。第二是创建图形图层(GraphicsLayer),然后把图形加入到图层里
                this.mapView.graphics.add(graphic);
    
                //显示图片的点
                wkt = "POINT(113.59281 22.22685)";
    
                //样式
                //PS:其他高级样式配置请看样式的章节
                style = {
                    //图片url
                    url: "https://static.arcgis.com/images/Symbols/Shapes/BlackStarLargeB.png",
                    //图片大小
                     "64px",
                    height: "64px"
                };
    
                //wkt转点的图片的图形(graphic)
                //PS:图形(graphic)是一个可以加载到地图或图层的几何对象,包括的几何对象的坐标,样式,属性字段值等
                // * @param apiInstance api
                //     * @param wkt wkt
                //     * @param style 样式
                //     * @param sr 空间参考
                //     * @param attributes 属性字段值(可空)
                graphic = mapUtil.geometry.wktToPicGraphic(this.apiInstance, wkt, style, this.mapView.spatialReference, null);
    
                //把图形添加到地图的图形集合
                //PS:图形要在地图上显示,可以添加到两种地方。一是mapView的graphics,这是地图的图形容器。第二是创建图形图层(GraphicsLayer),然后把图形加入到图层里
                this.mapView.graphics.add(graphic);
            },

    画线

            //代码在地图上添加线
            drawPolylineGraphic: function () {
                //wkt,代表线的坐标
                //PS:线坐标传入还支持其他格式,具体请看几何对象的章节
                let wkt = "LINESTRING(113.545949 22.24015749,113.56989 22.24916,113.55324 22.220588)";
                //样式
                //PS:其他高级样式配置请看样式的章节
                let style = {
                    //线颜色
                    color: "dodgerblue",
                    //线宽
                     3,
                    //线样式
                    style: "solid"
                };
    
                //通过wkt生成线图形(graphic)
                //PS:图形(graphic)是一个可以加载到地图或图层的几何对象,包括的几何对象的坐标,样式,属性字段值等
                //     * @param apiInstance api
                //     * @param wkt wkt
                //     * @param style 样式
                //     * @param sr 空间参考
                //     * @param attributes 属性字段值(可空)
                let graphic = mapUtil.geometry.wktToPolylineGraphic(this.apiInstance, wkt, style, this.mapView.spatialReference, null);
    
                //把图形添加到地图的图形集合
                //PS:图形要在地图上显示,可以添加到两种地方。一是mapView的graphics,这是地图的图形容器。第二是创建图形图层(GraphicsLayer),然后把图形加入到图层里
                this.mapView.graphics.add(graphic);
    
                //图形添加到图形图层
    
                //新建图形图层
                let layer = new this.apiInstance.GraphicsLayer({
                    //空间参考,一般要跟地图的一样
                    spatialReference: this.mapView.spatialReference,
                });
                //图层添加到地图
                //PS:GraphicsLayer也是图层之一,因此也支持通用的图层功能
                this.map.add(layer);
    
                wkt = "LINESTRING(113.52535 22.2372,113.54320285 22.2299436)";
                graphic = mapUtil.geometry.wktToPolylineGraphic(this.apiInstance, wkt, style, this.mapView.spatialReference, null);
    
                //生成图形后,把图形添加到图层
                layer.add(graphic);
            },

    画面

            //代码在地图上添加面
            drawPolygonGraphic: function () {
                //wkt,代表坐标
                //PS:线坐标传入还支持其他格式,具体请看几何对象的章节
                let wkt = "POLYGON((113.527839 22.27028,113.527238 22.2557786,113.5437178 22.2597268,113.54423 22.2730306,113.527839 22.27028))";
                //样式
                //PS:其他高级样式配置请看样式的章节
                let style = {
                    //线颜色
                    color: [50, 205, 50, 0.3],
                    outline: {
                        color: [255, 0, 0],
                         1
                    }
                };
    
                //wkt转面的图形(Graphic)
                //PS:图形(graphic)是一个可以加载到地图或图层的几何对象,包括的几何对象的坐标,样式,属性字段值等
                //     * @param apiInstance api
                //     * @param wkt wkt
                //     * @param style 样式
                //     * @param sr 空间参考
                //     * @param attributes 属性字段值(可空)
                let graphic = mapUtil.geometry.wktToPolygonGraphic(this.apiInstance, wkt, style, this.mapView.spatialReference, null);
    
                //把图形添加到地图的图形集合
                //PS:图形要在地图上显示,可以添加到两种地方。一是mapView的graphics,这是地图的图形容器。第二是创建图形图层(GraphicsLayer),然后把图形加入到图层里
                this.mapView.graphics.add(graphic);
            },
  • 相关阅读:
    [ css 计数器 counter ] css中counter计数器实例演示一
    [ css 计数器 counter ] css中counter计数器(序列数字字符自动递增)应用问题讲解及实例演示
    [ css 伪元素 :before :after ] css中before, after伪元素特性表现解释和实例
    [ css 引用 尚需深入研究的引用 ] css中那些令你蛋疼的糟粕(标记:本文引用,但是有很多地方不明白,需要深入研究)
    [ css 伪对象添加 content ] css中content内容生成技术以及应用问题讲解及实例演示
    [ css垂直对齐 vertical-align ] css中 vertical-align属性问题讲解及实例演示
    [ css 外边距 margin ] css中margin外边距合并问题讲解及实例演示
    [ css 权重 !important ] 使用CSS的!important讲解及实例演示
    [ css zoom和transform属性 ] zoom和transform属性中scale属性值之间的区别讲解及实例演示
    [ css 弹性盒子模型 box-flex 及相关属性 ] box-flex属性弹性盒子模型讲解及实例演示
  • 原文地址:https://www.cnblogs.com/cannel/p/11077951.html
Copyright © 2011-2022 走看看