Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用arcgis api绘制后获取图形点_Javascript_Gis_Arcgis - Fatal编程技术网

Javascript 如何使用arcgis api绘制后获取图形点

Javascript 如何使用arcgis api绘制后获取图形点,javascript,gis,arcgis,Javascript,Gis,Arcgis,我想得到多边形点、线和点,以便将它们存储在数据库中。我正在使用arcgis api 3.26,我想知道如何获得分数。以下是我如何绘制图形 // markerSymbol is used for point and multipoint, see http://raphaeljs.com/icons/#talkq for more examples var markerSymbol = new SimpleMarkerSymbol(); markerSymbol.setPath("

我想得到多边形点、线和点,以便将它们存储在数据库中。我正在使用arcgis api 3.26,我想知道如何获得分数。以下是我如何绘制图形

// markerSymbol is used for point and multipoint, see http://raphaeljs.com/icons/#talkq for more examples
    var markerSymbol = new SimpleMarkerSymbol();
    markerSymbol.setPath("M16,4.938c-7.732,0-14,4.701-14,10.5c0,1.981,0.741,3.833,2.016,5.414L2,25.272l5.613-1.44c2.339,1.316,5.237,2.106,8.387,2.106c7.732,0,14-4.701,14-10.5S23.732,4.938,16,4.938zM16.868,21.375h-1.969v-1.889h1.969V21.375zM16.772,18.094h-1.777l-0.176-8.083h2.113L16.772,18.094z");
    markerSymbol.setColor(new Color("#00FFFF"));

    // lineSymbol used for freehand polyline, polyline and line. 
    var lineSymbol = new CartographicLineSymbol(
      CartographicLineSymbol.STYLE_SOLID,
      new Color([255,0,0]), 10, 
      CartographicLineSymbol.CAP_ROUND,
      CartographicLineSymbol.JOIN_MITER, 5
    );

    // fill symbol used for extent, polygon and freehand polygon, use a picture fill symbol
    // the images folder contains additional fill images
    var fillSymbol = new PictureFillSymbol(
      new SimpleLineSymbol(
        SimpleLineSymbol.STYLE_SOLID,
        new Color('#000'), 
        1
      ), 
      42, 
      42
    );
我可以使用此功能显示图形addGraphics

      // figure out which symbol to use
      var symbol;
      if ( evt.geometry.type === "point" || evt.geometry.type === "multipoint") {
        symbol = markerSymbol;
        //alert(markerSymbol.xoffset);
      } else if ( evt.geometry.type === "line" || evt.geometry.type === "polyline") {
        symbol = lineSymbol;
        //alert(lineSymbol.toJson());
      }
      else {
        symbol = fillSymbol;
        alert(fillSymbol);
      }

      map.graphics.add(new Graphic(evt.geometry, symbol));
      alert("X: " + evt.mapPoint.x.toString() + ", <br>Y: " + evt.mapPoint.y.toString());

    }
//找出要使用的符号
var符号;
if(evt.geometry.type==“点”| | evt.geometry.type==“多点”){
符号=标记符号;
//警报(markerSymbol.xoffset);
}else if(evt.geometry.type==“line”| | evt.geometry.type==“polyline”){
符号=线条符号;
//警报(lineSymbol.toJson());
}
否则{
符号=填充符号;
警报(符号);
}
map.graphics.add(新图形(evt.geometry,symbol));
警报(“X:+evt.mapPoint.X.toString()+”,
Y:+evt.mapPoint.Y.toString()); }
您可以从
evt.geometry
属性中获取点:

对于点:
evt.geometry.x
evt.geometry.y

对于多点:
evt.geometry.points
返回一个数组点

对于多段线:
evt.geometry.path
返回包含点数组的路径数组