我是新来的,已经使用ArcGIS JavaScript API两周了。
我遵循了这个示例:
http://help.arcgis.com/en/webapi/javascript/arcgis/jssamples/#sample/graphics_add
我能够在地图上绘制自由手折线。现在我需要计算该折线上每个点的坐标。我已经尝试了五天,但仍然无法弄清楚如何做到这一点。如果您能详细解释一下如何做到这一点(因为我没有太多经验),我将不胜感激。
提前致谢,
Diego。
我是新来的,已经使用ArcGIS JavaScript API两周了。
我遵循了这个示例:
http://help.arcgis.com/en/webapi/javascript/arcgis/jssamples/#sample/graphics_add
我能够在地图上绘制自由手折线。现在我需要计算该折线上每个点的坐标。我已经尝试了五天,但仍然无法弄清楚如何做到这一点。如果您能详细解释一下如何做到这一点(因为我没有太多经验),我将不胜感激。
提前致谢,
Diego。
dojo.connect(tb, "onDrawEnd", addGraphic);
但它只是用一个基本符号将线添加到地图上。第一个陷阱是geometry对象实际上不会是geometry类型 - 那是一个不存在的抽象基类。类型将取决于您用来绘制形状的工具 - 在您的情况下,它似乎将是Polyline
类型。paths
,它是一个嵌套的路径(线)数组,每个路径包含一个点数组。因此,如果您想获取Polyline对象中所有路径的所有点:function addGraphic(geo) {
//For each path...
for ( var path = 0; path < geo.paths.length; path ++ ) {
//For each point in the path...
for ( var pt = 0; pt < geo.paths[path].length; pt++ ) {
//Do something with each point in here...
//X coordinate: geo.paths[path][pt][0]
//Y coordinate: geo.paths[path][pt][1]
}
}
}
您可能需要对一些其他对象(如继承自geometry
的对象)进行更多的检查,因为包含实际坐标的属性在折线、多边形、点等之间有所不同。