Estoy utilizando la API 3.3 de ESRI JavaScript para desarrollar una aplicación. Estoy seleccionando parcelas y añadiendo un gráfico para el polígono seleccionado. Lo que me gustaría hacer es añadir un marcador de punto al centro del gráfico del polígono después de añadir el gráfico. ¿Alguien sabe de un ejemplo que pueda echar un vistazo, o sabe cómo implementar rápidamente esta funcionalidad? Siento que me falta algo sencillo.
Respuestas
¿Demasiados anuncios?A menos que sus polígonos de parcela tengan una forma inusual, obtendrá el punto central de la extensión del polígono de la parcela y lo utilizará para dibujar su gráfico central.
// in this example, the graphic variable is the graphic of the parcel you added to the map
var centerPoint;
switch (graphic.geometry.type) {
case "point":
// if the graphic is a point
centerPoint = graphic.geometry;
break;
case "extent":
// if the graphic is an extent
centerPoint = graphic.getCenter();
default:
// if the graphic is a line or polygon, which for a parcel this will probably
// be the case.
centerPoint = graphic.getExtent().getCenter();
}
var centerGraphic = new esri.Graphic(centerPoint, centerSymbol);
...
Así que aquí hay dos soluciones rápidas. Realmente no creo que ninguna de las dos sea la óptima, pero serían fáciles.
-
Coloca un símbolo de marcador donde el usuario hace clic. De esta manera el efecto visual será que el punto estará en el polígono que fue seleccionado.
-
Utiliza la tarea de geometría de puntos de etiqueta para obtener una geometría para saber dónde colocar el símbolo del marcador. http://help.arcgis.com/en/webapi/javascript/arcgis/jsapi/geometryservice.html#GeometryService/onLabelPointsComplete