arcgis js平滑线工具_ArcGIS For JavaScript API Drawing Tool —— 绘图工具

描述:您可以使用绘图工具栏绘制在地图上的多种几何形状。.

esri.toolbars.Draw

常量常量描述

ARROW绘制箭头.

UP_ARROW绘制一个上箭头.

DOWN_ARROW绘制一个下箭头

LEFT_ARROW绘制一个左箭头.

RIGHT_ARROW绘制一个右箭头

POINT绘制点.

MULTI_POINTPOINT绘制多点.

ELLIPSE绘制一个椭圆形.

POLYGON绘制多边形.

POLYLINE绘制折线.

FREEHAND_POLYGON手绘多边形.

FREEHAND_POLYLINE手绘折线.

LINE绘制线

RECTANGLE绘制一个矩形

CIRCLE绘制圆.

TRIANGLE绘制一个三角形.

EXTENTDraws an extent box

方法None关闭工具栏并激活地图导航.

none最后,绘制的几何形状并触发onDrawEnd事件.工作时 使用此方法来完成绘制折线,多边形或点对多点,支持触摸的设备iPhone.

NoneSets whether the polygon geometry should be modified to be topologically correct.

事件Fired when the user has ended drawing. 这个事件对象具有以下属性

  geometry集合图像绘制.这种几何形状的坐标具有相同的空间的地图参考.geographicGeometry在地理坐标(纬度,经度)的绘制的形状的几何形状。仅当是Web墨卡托地图的空间参考或地理(4326)。

代码分析如下:html>

地图工具栏

html, body {

height: 100%; width: 100%; margin: 0; padding: 0;

}

parseOnLoad: true   // 解析加载

};

// 导入包

dojo.require("esri.map");

dojo.require("esri.toolbars.draw");

dojo.require("dijit.layout.BorderContainer");

dojo.require("dijit.layout.ContentPane");

var map, toolbar, symbol, geomTask;

function init() {

map = new esri.Map("map", {

basemap: "streets",   // 指定的地图底图。以下是有效的选项:"streets","satellite","hybrid","topo","gray","oceans","national-geographic","osm".

center: [-15.469, 36.428],    // 经纬度

zoom: 3   // 缩放深度

});

dojo.connect(map, "onLoad", createToolbar); // 绑定加载事件

}

function createToolbar(themap) {

toolbar = new esri.toolbars.Draw(map);  // esri.toolbars.Draw(map, options)

dojo.connect(toolbar, "onDrawEnd", addToMap);   // 绘制完成触发

}

function addToMap(geometry) {

toolbar.deactivate();  // 关闭工具栏并激活地图导航.

map.showZoomSlider();  //在地图上显示的缩放滑块

// 判断几何图形的类型

switch (geometry.type) {

case "point":

var symbol = new esri.symbol.SimpleMarkerSymbol(

esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE,    // 样式,STYLE_CIRCLE(●),STYLE_CROSS(+),STYLE_DIAMOND(◆),STYLE_SQUARE(■),STYLE_X(X)

10, // 像素

new esri.symbol.SimpleLineSymbol(

esri.symbol.SimpleLineSymbol.STYLE_SOLID,  // 样式,STYLE_DASH(破折号),STYLE_DASHDOT(点划线),STYLE_DASHDOTDOT,STYLE_DOT(点),STYLE_NULL,STYLE_SOLID(实线)

new dojo.Color([255,0,0]),  // 颜色

1   // 像素

),

new dojo.Color([0,255,0,0.25])  // 颜色和透明度

);

break;

case "polyline":

var symbol = new esri.symbol.SimpleLineSymbol(

esri.symbol.SimpleLineSymbol.STYLE_SOLID,

new dojo.Color([255,0,0]),

1

);

break;

case "polygon":

var symbol = new esri.symbol.SimpleFillSymbol(

esri.symbol.SimpleFillSymbol.STYLE_SOLID,

new esri.symbol.SimpleLineSymbol(

esri.symbol.SimpleLineSymbol.STYLE_DASHDOT,

new dojo.Color([255,0,0]),

2

),

new dojo.Color([255,255,0,0.25])

);

break;

case "extent":

var symbol = new esri.symbol.SimpleFillSymbol(

esri.symbol.SimpleFillSymbol.STYLE_SOLID,

new esri.symbol.SimpleLineSymbol(

esri.symbol.SimpleLineSymbol.STYLE_DASHDOT,

new dojo.Color([255,0,0]),

2

),

new dojo.Color([255,255,0,0.25])

);

break;

case "multipoint":

var symbol = new esri.symbol.SimpleMarkerSymbol(

esri.symbol.SimpleMarkerSymbol.STYLE_DIAMOND,

20,

new esri.symbol.SimpleLineSymbol(

esri.symbol.SimpleLineSymbol.STYLE_SOLID,

new dojo.Color([0,0,0]),

1

),

new dojo.Color([255,255,0,0.5])

);

break;

}

var graphic = new esri.Graphic(geometry, symbol);

map.graphics.add(graphic);  // 将绘图加入到图层中

}

dojo.ready(init); // 初始化加载

绘制:

Point(点)

Multipoint(多点)

Line(线)

Polyline(折线)

Polygon(多边形)

Freehand Polyline(手绘折线)

Freehand Polygon(手绘多边形)

Arrow(箭头)

Triangle(三角形)

Circle(圆形)

Ellipse(椭圆)

效果如下:

你可能感兴趣的:(arcgis,js平滑线工具)