经过简化的画图例子(点,线,多边形)

代码:

<html>
<head>
    <meta charset="utf-8">
    <title>图形查询属性</title>
    <link rel="stylesheet" href="http://js.arcgis.com/3.9/js/dojo/dijit/themes/claro/claro.css">
    <link rel="stylesheet" href="http://js.arcgis.com/3.9/js/esri/css/esri.css">
    <script src="http://js.arcgis.com/3.9/"></script>
    <script type="text/javascript">

        var map;//全局map;

        require(["dojo/parser", "dijit/registry", "esri/map", "esri/layers/ArcGISDynamicMapServiceLayer", "esri/toolbars/draw",
        "dijit/form/Button", "dojo/domReady!"],
        function (parser, registry, Map, ArcGISDynamicMapServiceLayer, Draw) {
            parser.parse();
            map = new Map("mapDiv");
            
            /*本地创建的server(动态地图)服务*/
            var url = "http://localhost:6080/arcgis/rest/services/bluechina/MapServer";
            var agoLayer = new ArcGISDynamicMapServiceLayer(url);
            map.addLayer(agoLayer);

            var tb = new Draw(map);             //构建画图工具;
            tb.on("draw-end", doIdentify);      //画图结束后执行doIdentify()方法;

            registry.forEach(function (d)        //为button绑定事件;
            {
                if (d.declaredClass === "dijit.form.Button")
                {
                    d.on("click", activateTool);//click调用activateTool()方法;
                }
            });

            function activateTool()
            {
                var tool = null;
                switch (this.label)
                {
                    case "":
                        tool = "POINT";
                        break;
                    case "线":
                        tool = "POLYLINE";
                        break;
                    case "多边形":
                        tool = "POLYGON";
                        break;
                }
                tb.activate(Draw[tool]); //激活画图工具条;
                map.hideZoomSlider();
            }
            function doIdentify()
            {
                alert("画图完成!");
            }
        });
    </script>
</head>
<body class="claro">
    <button data-dojo-type="dijit/form/Button"></button>
    <button data-dojo-type="dijit/form/Button">线</button>
    <button data-dojo-type="dijit/form/Button">多边形</button>

    <div id="mapDiv" style="900px; height:600px; border:1px solid #000;"></div>
</body>
</html>
原文地址:https://www.cnblogs.com/tinaluo/p/7237244.html