I'm using the JavaScript API 1.6 on ArcGIS 9.3. I have a polygon geometry in an ArcGIS map, and I'm trying to find a way to get the point that lies in the exact center of the geometry. What is the best way to do this?
Thanks!
Each instance of geometry (esri.geometry.Geometry) has a method called getExtent() which returns the extent of the geometry (polygon in your example). esri.geometry.Extent has a method called getCenter() that returns a point.
So you could do something like:
var myPolygonCenterLatLon = myPolygon.getExtent().getCenter();
You could alternatively calculate the centroids to polygons beforehand in ArcMap. Then host the layer which has a one-to-one relationship with the polygons.
You could set up a model in Model Builder to use the Feature to Point tool (in ArcToolbox), export the script (JScript), and call it in your code.
This an updated version (2.2 Javascript API)
This example finds the centre point of the polygon to label the coordinates
http://help.arcgis.com/en/webapi/javascript/arcgis/demos/util/util_label_point.html
This uses the Geometry Service http://webhelp.esri.com/arcgisserver/9.3/dotNet/index.htm#geometry_service.htm