Español

Cómo: Limitar los resultados del widget Buscar a una extensión específica en Web AppBuilder for ArcGIS

Resumen

Los resultados del widget Buscar se pueden limitar a una extensión determinada en Web AppBuilder for ArcGIS editando el archivo config_Search.json, situado en [directorio de instalación]\server\[n.º de aplicación]\configs, y el archivo Widget.js, situado en [directorio de instalación]\server\apps\[n.º de aplicación]\widgets\Search.

Procedimiento

Los siguientes segmentos de código muestran cómo limitar los resultados del widget Buscar a una extensión específica.

Agregue las variables searchExtent, formadas por las coordenadas x e y mínimas y máximas, de la siguiente manera:

"type": "locator",
      "searchExtent": {  
        "xmin": -9589858.361942431,  
        "ymin": 3964964.109405532,  
        "xmax": -9522593.777051566,  
        "ymax": 4031693.635098401,  
        "spatialReference": {  
          "wkid": 102100  
        }  
 }

Tras el código anterior, ahora se requiere Extent en la lista require al comienzo del script.

require([
 ...
   'esri/geometry/Extent',
 ...
 ],
   function()

Las variables agregadas al archivo config_Search.json se recuperan a continuación en el archivo Widget.js en [directorio de instalación]\server\apps\[n.º de aplicación]\widgets\Search para crear un nuevo objeto de Extensión, que hace referencia a las coordenadas x e y mínimas y máximas definidas en el archivo config_Search.json.

if (source && source.url && source.type === 'locator') {
              locator: new Locator(source.url || ""),  
              outFields: ["*"],  
              singleLineFieldName: source.singleLineFieldName || "",  
              name: source.name || "",  
              placeholder: source.placeholder || "",  
              countryCode: source.countryCode || "",  
              maxResults: source.maxResults || 6  
            };  
            if(source.searchExtent){  
              locSource.searchExtent =  new Extent(source.searchExtent);  
            }  
            return locSource; 
 }

Información relacionada