以下是我工作的其他服务: 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/
答案 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并将结果添加到地图