1 votos

definir la expresión basada en los valores del deslizador

Usando la API de Esri JavaScript quiero controlar los valores de set.DefinitionExpression basados en un deslizador de rango controlado por el usuario.

Los datos se cargan desde REST como ondemand usando:

var POP_Total = new FeatureLayer("..../services/RPP_15/HEX_Confidence_Scores/MapServer/2", {
                  mode: FeatureLayer.MODE_ONDEMAND,
                  outFields: ["*"],
                  opacity: 0.5,
              });

He establecido una expresión de definición con:

POP_Total.setDefinitionExpression("POP_Total_Class >= 4 AND POP_Total_Class <= 5");

En el caso anterior, los valores devueltos están codificados para mostrar sólo los valores entre 4 y 5. Deseo cambiar problemáticamente los valores de los 4 y 5 con los valores devueltos por el deslizador de rango.

El deslizador de rango se crea con:

var sliderRules = new dijit.form.HorizontalRuleLabels({
                  minimum: 1,
                  maximum: 8,
                  labels: ["1", "2", "3", "4", "5", "6", "7", "8"],
                  labelStyle: "font-size:9px;color: #333",
                  style: "width:220px;height:30px;"
              }, "ruler");

              var rangeSlider = new dojox.form.HorizontalRangeSlider({
                  name: "rangeSlider",
                  value: [1, 8],
                  minimum: 1,
                  maximum: 8,
                  discreteValues: 8,
                  style: "width:220px;",
                  onChange: function (value) {
                      //alert('change occurred');
                  }
              }, "rangeSlider");

1voto

spiv Puntos 1488
onChange: function (value) {
    var min = value[0];
    var max = value[1];
    var expression = "POP_Total_Class >= " + min + " AND POP_Total_Class <= " + max;
    POP_Total.setDefinitionExpression(expression);
}

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