1 votos

¿Por qué la API de ArcGIS para JavaScript Map.setExtent ajusta mi extensión?

Estoy teniendo algunos problemas para configurar el Map alcance utilizando API de ArcGIS para JavaScript 3.18 .

Cada vez que llamo setExtent con myExtent El mapa termina en una medida cercana, pero significativamente diferente a myExtent . Por ejemplo, yo llamo a setExtent con:

myExtent = Object {type: "extent", xmin: -13486723.42416174, ymin: 6046817, xmax: -11828314.857440159, ymax: 8563452}

Entonces me encargo de la extent-change para registrar la extensión real:

actualExtent = Object {type: "extent", xmin: -13334853.828803658, ymin: 6277279.110955888, xmax: -11980184.45279824, ymax: 8332989.889044112}

En este ejemplo, el actualExtent está significativamente más ampliada que myExtent . Pero a veces está más alejado, a veces está más al norte, etc. Básicamente, el mapa parece que se está rompiendo myExtent a determinados niveles y posiciones de zoom.

Nuestro servidor es ArcGIS Server 10.4.1. Tengo un cliente de la API de ArcGIS para Silverlight conectado al mismo servidor haciendo el mismo trabajo, pero no tiene este problema de ajuste. ¿Puede alguien sugerir por qué está sucediendo esto y cómo detenerlo?

ACTUALIZACIÓN: Para aclarar cómo construyo y pongo myExtent va un poco así:

let myExtent = angular.copy(this.map.extent);
myExtent.xmin = -13486723.42416174;  // calculated
myExtent.ymin = 6046817;  // calculated
myExtent.xmax = -11828314.857440159;  // calculated
myExtent.ymax = 8563452;  // calculated
this.map.setExtent(myExtent);

1voto

user21012 Puntos 21

Si quiere tener la garantía de que la extensión de la entrada se mostrará completamente en el mapa cuando llame a setExtent() debe pasar el valor true como segundo parámetro de ajuste (opcional).

map.setExtent(myExtent, true);

https://developers.arcgis.com/javascript/3/jsapi/map-amd.html#setextent

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