我使用 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 上绘制标记,然后放大范围。我的雇主现在想要的是让我找到所有这些点的中心点,并在中心显示一个标记。
这能做到吗?如果是,你告诉我怎么做?
谢谢 保罗
最佳答案
几件事。
- 您知道 gis.stackexchange.com 吗?他们可能会更好地解决您的问题。
- 您要做的是找到一个多边形的中心,假设这些点不在一条直线上。
- 这是我认为您要问的问题的答案链接 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/