arcgis for js 矢量面symbol设置为文字

1.本例中服务链接地址可以在arcgis manage server拿到;

2.完整代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>创建标识点</title>
    <link rel="stylesheet" type="text/css" href="http://localhost:8087/arcgis_js_api/library/3.22/3.22/esri/css/esri.css" />
    <script src="http://localhost:8087/arcgis_js_api/library/3.22/3.22/init.js"></script>
    <script src="../js/jquery-1.3.1.js"></script>
    <style>
        html, body, #map {
            width:   100%;
            height:  100%;
            margin:  0;
            padding: 0;
        }
    </style>
    <script>
        var map;var tb;
        var geometryService,toolbar;
        require([
            "dojo/dom-construct",
            "esri/Color",
            "esri/dijit/Geocoder",
            "esri/dijit/Popup",
            "esri/InfoTemplate",
            "esri/layers/ArcGISTiledMapServiceLayer",
            "esri/map",
            "esri/symbols/SimpleFillSymbol",
            "esri/symbols/SimpleLineSymbol", "esri/config",
            "esri/layers/agstiled","esri/toolbars/draw",
            "esri/tasks/query","esri/symbols/SimpleMarkerSymbol","esri/graphic","esri/geometry/Extent","esri/tasks/QueryTask",
            "dojo/number","esri/tasks/geometry","esri/symbols/Font","esri/symbols/TextSymbol","esri/tasks/GeometryService",
            "dojo/domReady!"
        ], function(
            domConstruct, Color, Geocoder, Popup, InfoTemplate,
            ArcGISTiledMapServiceLayer, Map,SimpleFillSymbol,SimpleLineSymbol,Config,
            Agstiled,Draw,Query,SimpleMarkerSymbol,Graphic,Extent,QueryTask,number,geometry,Font,TextSymbol,GeometryService
        ) {
            map = new Map("map", {
                extent: new Extent({
                    "xmin":126.08797131337525,"ymin":41.88483304829672,"xmax":130.05572254059723,"ymax":47.20292839632739,
                    "spatialReference":{"wkid":4326}})
            });
            var oilAndGasLayer = new ArcGISTiledMapServiceLayer("http://localhost:6080/arcgis/rest/services/itms/MapServer", {
                "id": "oilAndGasLayer",
                "opacity": 0.75,
                "showAttribution":false
            });
            map.addLayer(oilAndGasLayer);
            geometryService=GeometryService("http://localhost:6080/arcgis/rest/services/Utilities/Geometry/GeometryServer");
            toolbar = new Draw(map);
            toolbar.on("draw-complete",addToMap);
            function addToMap(result) {
                map.graphics.clear();
                var symbol = new  SimpleFillSymbol(
                     SimpleFillSymbol.STYLE_SOLID,
                    new  SimpleLineSymbol( SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0, 0, 0]), 2),
                    new dojo.Color([0, 0, 255, 0.5])
                );
                var graphic = new Graphic(result.geometry, symbol);
                map.graphics.add(graphic);
                geometryService.simplify([ result.geometry ], getLabelPoints);
            }
            function getLabelPoints(polygons) {
                geometryService.labelPoints(polygons, function (labelPoints) { // callback
                    toolbar.deactivate();
                    map.showZoomSlider();
                    var font = new  Font("20px",  Font.STYLE_NORMAL,  Font.VARIANT_NORMAL,
                         Font.WEIGHT_BOLDER);
                    for (var i = 0, il = labelPoints.length; i < il; i++) {
                        // create a text symbol
                        var textSymbol = new  TextSymbol(
                            "X: " + dojo.number.format(labelPoints[i].x) + ", Y: " + dojo.number.format(labelPoints[i].y),
                            font, new dojo.Color([0, 0, 0])
                        );
                        var  labelPointGraphic=new Graphic(labelPoints[i],textSymbol);
                        map.graphics.add(labelPointGraphic);
                    }
                })
            }
        });


    </script>
</head>
<body>
<button dojoType="dijit.form.Button" onClick="toolbar.activate(esri.toolbars.Draw.POLYGON); map.hideZoomSlider();">Polygon</button>
<button dojoType="dijit.form.Button" onClick="toolbar.activate(esri.toolbars.Draw.FREEHAND_POLYGON); map.hideZoomSlider();">Freehand
    Polygon</button>
<button dojoType="dijit.form.Button"  οnclick="map.graphics.clear();">Clear All</button>
<div id="map" style="width:900px; height:600px; border:1px solid #000;"></div>
</body>
</html>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值