In this example, you will design a search tool that will search for land parcels owned by certain owner; the flow will be as following:
- End user will enter owner name in a textbox.
- Parcels_Owners table will be queried to find parcels owned by this owner
- Based on table query results; parcels layer will be queried, and resulted parcels features will be selected on map.
In order to start, go to Custom Searches page and add a new search.
From the drop-down list, select “Layer Search based on DataTable”, and click OK.
Now, the search configuration dialog appears, and you have to set layer data source by clicking on Set Button as shown below.
Select the Parcels layer, as it will be the targeted layer and click OK
Now, select the data table that will be used for querying non-spatial data (Owners) from the list as shown below
Assign a name for the search tool; in this Example, use “Search Parcels by Owner” as shown below.
Now, add a Filter that will query the table by clicking on “Add Filter” as shown below.
Select the table field that will be used for query operation; in this example OwnerName field will be used.
Select the operator from the operator list as shown below; in this example “is” operator will be used, since the search will work based on defined values entered by end user.
Next choose the input type, which can be:
- Drop-down List: List of defined values
- User Input: Normal Textbox
- AutoComplete Textbox: Autocomplete textbox
- Date Picker: Date Selector, for date fields
In this example, autocomplete textbox input will be used for OwnerName field. When selecting autocomplete textbox, a dialog appears for defining the values that will be used for populating the autocomplete list. In this example, choose table source, and select Owners table, and OwnerName column as the column in this table that will be used to populate the list and click OK as shown below.
Now, add a label for the input autocomplete textbox; “Owner Name” will be used as label, and click OK.
Now go to Results Fields tab, and click on Add Result Field.
In this step, common fields between layer and table will be defined in order to query layer based on these fields’ values that result from table query.
The fields are ParcelNumber and BlockNumber and both are available with same name on layer and table.
Start with adding ParcelNumber field as shown below.
Next, add BlockNumber field.
Now, go to Results Display tab to configure how the result will appear on map.
Check “Use Data of Layer Identification to Display Results Instead of Fields” checkbox, in order to view search results according to layer identify format, and click Save button as shown below.
Navigate to map and open the new search.
Enter a certain owner name; “Adam” will be used as search input. Remember that the search is autocomplete, so only enter a part of the name and select from the autocomplete suggestion list as shown below.
The search will find 17 results (parcels owned by Adam); when clicking on any parcel in the list, the map will select this parcel and zoom to it as shown below.