2 votos

Añadir un punto al centro del gráfico del polígono en la api javascript de Esri

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.

8voto

Kieran Benton Puntos 2783

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);

...

2voto

Swim Puntos 636

Así que aquí hay dos soluciones rápidas. Realmente no creo que ninguna de las dos sea la óptima, pero serían fáciles.

  1. 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.

  2. 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

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X