var xmuss = mapPoint.x - ((mapPoint.x - this.inputPoints[this.inputPoints.length-2].x)/2); var ymuss = mapPoint.y - ((mapPoint.y - this.inputPoints[this.inputPoints.length-2].y)/2); var winkelmuss = (Math.atan2((this.inputPoints[this.inputPoints.length-2].y - mapPoint.y), (this.inputPoints[this.inputPoints.length-2].x - mapPoint.x))*180)/Math.PI; var pt = new esri.geometry.Point(xmuss, ymuss, this._map.spatialReference); var textSymbol = new esri.symbol.TextSymbol(); textSymbol.setColor(new dojo.Color([0,0,0])).setFont(new esri.symbol.Font("12pt").setWeight(esri.symbol.Font.WEIGHT_BOLD)); var gemessen = '123'; textSymbol.text = dojo.number.format(gemessen.toFixed(1), {pattern: this.numberPattern}) + zeichen; textSymbol.angle = 90; this.textGraphic=new esri.Graphic(); this.textGraphic.setSymbol(textSymbol); this.textGraphic.setGeometry(pt); this._map.graphics.add(this.textGraphic); this.measureGraphics.push(this.textGraphic);
//in the init() // get print templates from the export web map task var printInfo = esri.request({ "url": app.printUrl, "content": { "f": "json" } }); printInfo.then(handlePrintInfo, handleError); //Print Funktion function handlePrintInfo(resp) { var layoutTemplate, templateNames, mapOnlyIndex, templates; layoutTemplate = dojo.filter(resp.parameters, function(param, idx) { return param.name === "Layout_Template"; }); if ( layoutTemplate.length == 0 ) { console.log("print service parameters name for templates must be \"Layout_Template\""); return; } templateNames = layoutTemplate[0].choiceList; // remove the MAP_ONLY template then add it to the end of the list of templates mapOnlyIndex = dojo.indexOf(templateNames, "MAP_ONLY"); if ( mapOnlyIndex > -1 ) { var mapOnly = templateNames.splice(mapOnlyIndex, mapOnlyIndex + 1)[0]; templateNames.push(mapOnly); } // create a print template for each choice templates = dojo.map(templateNames, function(ch) { var plate = new esri.tasks.PrintTemplate(); plate.layout = plate.label = ch; plate.format = "PDF"; plate.layoutOptions = { "authorText": "Stadt Osnabrück Fachbereich Städtebau", "copyrightText": "Copyright Stadt Osnabrück", "legendLayers": [], "titleText": "Messen", "scalebarUnit": "Kilometers" }; return plate; }); // create the print dijit app.printer = new esri.dijit.Print({ "map": app.map, "templates": templates, url: app.printUrl }, dojo.byId("print_button")); app.printer.startup(); } function handleError(err) { console.log("Something broke: ", err); }
textSymbol.setColor(new dojo.Color([0,0,0])).setFont(new esri.symbol.Font(12).setWeight(esri.symbol.Font.WEIGHT_BOLD));
{ "mapOptions":{ "extent":{ "xmin":431529.9483720495, "ymin":5795228.0839689225, "xmax":432577.7004675537, "ymax":5795951.191665137, "spatialReference":{"wkid":25832} }, "spatialReference":{"wkid":25832}, "scale":3000.00000000002 }, "operationalLayers":[{ "id":"layer0", "url":"http://MASKED/dienste/rest/services/alkis/MapServer", "title":"layer0", "opacity":1 }, { "id":"graphicsLayer1", "url":"http://MASKED/dienste/rest/services/snapping/MapServer/6", "title":"graphicsLayer1", "minScale":2500.000000000166, "maxScale":0, "layerDefinition":{ "drawingInfo":{ "renderer":{ "type":"simple", "label":"", "description":"", "symbol":{ "color":[0,0,0,0], "outline":{"color":[0,0,0,0],"width":0,"type":"esriSLS","style":"esriSLSNull"}, "type":"esriSFS", "style":"esriSFSSolid" } } } } }, { "id":"map_graphics", "featureCollection":{ "layers":[{ "layerDefinition":{ "name":"pointLayer", "geometryType":"esriGeometryPoint" }, "featureSet":{ "geometryType":"esriGeometryPoint", "features":[ { "geometry":{ "x":431996.2774297076, "y":5795593.6065749675, "spatialReference":{"wkid":25832} }, "symbol":{ "color":[0,0,0,255], "type":"esriTS", "angle":-30.662655357589376, "xoffset":75, "yoffset":75, "text":"367,2m", "align":"middle", "decoration":"none", "rotated":false, "kerning":true, "font":{"size":12,"weight":"bold"} } }, { "geometry":{ "x":431840.30524276325, "y":5795501.134515023, "spatialReference":{"wkid":25832} }, "symbol":{ "angle":0, "xoffset":6.75, "yoffset":8.25, "type":"esriPMS", "url":"http://MASKED/libraries/jsapi/3.0/jsapi/js/esri/dijit/images/flag.png", "width":18, "height":18 } }
]} }, {"layerDefinition":{"name":"polylineLayer","geometryType":"esriGeometryPolyline"},"featureSet":{"geometryType":"esriGeometryPolyline","features":[{"geometry":{"paths":[]},"symbol":{"color":[0,128,255,255],"width":2.25,"type":"esriSLS","style":"esriSLSSolid"}},{"geometry":{"paths":[[[432152.24961665197,5795686.078634911],[431840.30524276325,5795501.134515023]]],"spatialReference":{"wkid":25832}},"symbol":{"color":[0,128,255,255],"width":2.25,"type":"esriSLS","style":"esriSLSSolid"}},{"geometry":{"paths":[[[431840.30524276325,5795501.134515023],[432107.7995277518,5795334.446681648]]],"spatialReference":{"wkid":25832}},"symbol":{"color":[0,128,255,255],"width":2.25,"type":"esriSLS","style":"esriSLSSolid"}},{"geometry":{"paths":[[[432107.7995277518,5795334.446681648],[432257.0248262024,5795495.578253911]]],"spatialReference":{"wkid":25832}},"symbol":{"color":[0,128,255,255],"width":2.25,"type":"esriSLS","style":"esriSLSSolid"}}]}}]}}],"exportOptions":{"outputSize":[800,1100],"dpi":96},"layoutOptions":{"titleText":"Messen","authorText":"MASKED","copyrightText":"Copyright MASKED","scaleBarOptions":{"metricUnit":"Kilometers","metricLabel":"km","nonMetricUnit":"Miles","nonMetricLabel":"mi"},"legendOptions":{"operationalLayers":[]}}}
dojo.connect(app.map, "onClick", function(evt){ app.map.graphics.add(new LabelGraphic("This is broken.", evt.mapPoint)); })
LabelGraphic = function(text, point, data){ data = data || {}; return new esri.Graphic( new esri.geometry.Point( point.x, point.y, map.spatialReference ), new esri.symbol.TextSymbol( text, new esri.symbol.Font( 14, data.option == "italic" ? esri.symbol.Font.STYLE_ITALIC : esri.symbol.Font.STYLE_NORMAL, esri.symbol.Font.VARIANT_NORMAL, data.option == "bold" ? esri.symbol.Font.WEIGHT_BOLD : esri.symbol.Font.WEIGHT_NORMAL, "Arial" ), data.fillColor ? new dojo.Color(data.fillColor) : new dojo.Color("#F00") ) ); }