绘制要素图层面的质心
Plot Centroid of Feature Layer Polygon
这是我正在使用的其余服务: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/
要在要素图层中的所有几何之间循环,您可以执行以下操作:
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 并将结果添加到地图中
相关文章:
- 更改图层中单个矢量特征的图标
- 谷歌地图热图图层点半径
- 谷歌地图-更改图层图标大小
- 如何通过ID获取图层对象
- 在NVD3散点图上绘制标签
- 保存交互绘制开放图层
- HTML5 中的多画布图层绘制应用程序
- 打开图层 3 如何以编程方式绘制多边形
- HTML5 - 绘制图像不绘制在其他图层上
- 在图层中找到一个特定的组并重新绘制它
- 更改XYZ图层的源url并重新绘制图层/贴图
- 在图像图层OpenLayers 2中以EPSG:4326坐标中心绘制圆
- 重新绘制部分画布与图层
- 在图层中绘制图像并将其对齐为矩阵
- Kineticjs组缓存和图层绘制隐藏动态弧线形状
- KineticJS:添加形状图层和绘制几乎崩溃的浏览器
- 为每组坐标绘制具有不同样式的开放图层图层
- 使用图层绘制图像
- 显示复选框选择 - 在 Google 地图中绘制图层时出现问题的 KML 图层
- 如何在不刷新页面的情况下清除传单绘制工具创建的先前图层?