Deutsch

How To: Beschränken der Ergebnisse des Widgets "Suche" auf eine bestimmte Ausdehnung in Web AppBuilder for ArcGIS

Zusammenfassung

Die Ergebnisse des Widgets "Suche" können in Web AppBuilder for ArcGIS auf eine bestimmte Ausdehnung beschränkt werden. Dies erfolgt durch Bearbeiten der Datei config_Search.json in [Installationsverzeichnis]\server\[App.Nr.]\configs und der Datei Widget.js in [Installationsverzeichnis]\server\apps\[App.Nr.]\widgets\Search.

Vorgehensweise

Mit den folgenden Codesegmenten wird gezeigt, wie die Ergebnisse des Widgets Suche auf eine bestimmte Ausdehnung beschränkt werden.

Fügen Sie die searchExtent-Variablen, die aus den minimalen und maximalen X- und Y-Koordinaten bestehen, wie folgt hinzu:

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

Nach dem obigen Code ist jetzt Extent in der Liste require am Anfang des Skripts erforderlich.

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

Dann werden die in der Datei config_Search.json hinzugefügten Variablen in der Datei Widget.js in [Installationsverzeichnis]\server\apps\[App-Nr.]\widgets\Search abgerufen, um ein neues Extent-Objekt zu erstellen, das auf die minimalen und maximalen X- und Y-Koordinaten verweist, die in der Datei config_Search.json festgelegt sind.

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

Referenzinformationen