绘制要素图多边形的质心图

时间:2015-01-20 22:21:13

标签: javascript gis arcgis esri arcgis-js-api

以下是我工作的其他服务: http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3

我目前要求显示要素图层的内容如下:

var recLayer = new FeatureLayer("http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3",{
    infoTemplate: recParkTemplate,
    outFields: ["STATE_NAME"]
  });
map.addLayer(recLayer);

但是,不是在地图上绘制多边形,因为这是一个esriGeometricPolygon。我宁愿把它作为esriGeometryPoint在地图上绘制。我知道这个方法来获取特定的多边形的质心:

https://developers.arcgis.com/javascript/jsapi/polygon-amd.html#getcentroid

我的问题是我无法弄清楚如何在要素图层中的所有多边形之间循环,然后绘制这些多边形。我只能指向并单击并显示与此ESRI示例的工作方式类似的内容:https://developers.arcgis.com/javascript/jssamples/util_label_point.html

感谢您的协助。 如果您想查看当前网站,请访问以下网址:http://joshferrell.net/ece_project/

1 个答案:

答案 0 :(得分:0)

要在要素图层中的所有几何图形之间循环,您可以执行以下操作:

            recLayer.on("update-end", function changeHandler(evt) {
            require(["dojo/_base/array"], function (array) {

                array.forEach(recLayer.graphics, function (entry, i) {
                    console.debug(entry, "at index", i);
                });
            });
        });

在循环内部使用getCentroid并将结果添加到地图