javascript - 使用 javascript 从 esri 多点获取中心点

标签 javascript esri arcmap arcgis-js-api multipoint

我使用 javasvipt 创建了一个在 ersi map 上显示标记的网页。

Data: 
MapNorth    MapEast
439624  504743
439622  504736
439722  504775
439738  504739
439715  504774
439734  504739

JavaScript 代码:

var points = data.map(function(x){
                    return [x.MapEast, x.MapNorth];
                });

                var myMultiPoint = {"geometry":{"points":points,"spatialReference":27700},"symbol":{"color":[255,255,255,64],
                "size":6,"angle":0,"xoffset":0,"yoffset":0,"type":"esriSMS","style":"esriSMSCircle",
                "outline":{"color":[0,0,0,255],"width":6,"type":"esriSLS","style":"esriSLSSolid"}}};  

                var gra = new esri.Graphic(myMultiPoint);

                myMap.graphics.add(gra);

                var graExtent = esri.graphicsExtent(myMap.graphics.graphics); 
                myMap.setExtent(graExtent); 

以上代码所做的是在 map 上绘制标记,然后放大范围。我的雇主现在想要的是让我找到所有这些点的中心点,并在中心显示一个标记。

这能做到吗?如果是,你告诉我怎么做?

谢谢 保罗

最佳答案

几件事。

  1. 您知道 gis.stackexchange.com 吗?他们可能会更好地解决您的问题。
  2. 您要做的是找到一个多边形的中心,假设这些点不在一条直线上。
  3. 这是我认为您要问的问题的答案链接 https://gis.stackexchange.com/questions/7998/how-can-i-calculate-the-center-point-inside-a-polygon-in-arcgis-9-3

此处发布的解决方案使用 getExtent().getCenter(),如此处所示

var myPolygonCenterLatLon = myPolygon.getExtent().getCenter();

关于javascript - 使用 javascript 从 esri 多点获取中心点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26379246/

相关文章:

javascript - 为什么我记录的值是正确的,但当我返回它时它是 'undefined' ?

javascript - 如何使用 XY 坐标向 ArcGIS map 添加标记

c# - "ESRI.ArcGIS.DataSourcesGDB.FileGDBWorkspaceFactoryClass"无法嵌入

javascript - AngularJS 当一个单选按钮值被选择为 true 时,如何将所有单选按钮值更新为 false?

javascript - OWL Carousel afterMove 获取 img alt

javascript - IE9 不允许在按钮标签内输入

java - Android - 类型 ID 的预期资源

javascript - esri/dijit/Search javascript 版本 3.13 不同来源不创建建议

c# - 当应用程序是 64 位时,以 32 位模式运行代码,可能吗?

Python UUID 格式错误的十六进制字符串