When adding a map element to a dashboard and turning on the search functionality, how does one utilize certain locators and remove the default ArcGIS Geocoding Service locator in a dashboard? You can't add locators in the webmap settings or in the dashboard settings....
Also, if in the webmap settings I add the functionality to search by a layer, how do I only have the search in the dashboard search only search by the layer, not by other locators or the ArcGIS Geocoding Service Locator?
Solved! Go to Solution.
You can adjust a map's search settings to include specific layers, but you're correct, you can't control the available locators at the map level. Near as I can tell, maps and dashboards just pull the organization's settings, so you'd have to disable the locator for the entire organization, which may not be ideal.
You can adjust a map's search settings to include specific layers, but you're correct, you can't control the available locators at the map level. Near as I can tell, maps and dashboards just pull the organization's settings, so you'd have to disable the locator for the entire organization, which may not be ideal.
And just to be thorough: I opened up a web map's JSON, and there's no reference to the locator anywhere in there. It's gotta be a default coming through when the search widget is loaded.
@jcarlson Thank you. Yeah, the option to disable a locator for an entire organization just to have one dashboard search functionality doesn't seem wise, but it also seems like an oversight and needed improvement by ESRI. I guess maybe I will have to explore building it in ExB and see if it is programmed differently - allowing for such search options...?
Agreed! The various app builders have had the option to add/remove/reorder locators for ages, it is odd that Dashboards wouldn't.
I don't know what locator you want to use, but is it possible to include a feature layer in the map and have it toggled off?
A map can also let you disable all locators. You could have your locator features listed under "by layer" and then disable all the built-in locators. Hacky, but it could work.
You can see in the map JSON that the "by address" setting is disablePlaceFinder. So it really is just a boolean, all-or-nothing for locators. When I adjusted the settings, the JSON suddenly appeared.
"applicationProperties": {
"viewing": {
"search": {
"enabled": true,
"disablePlaceFinder": true,
"hintText": "Place or Address",
"layers": [
{
"id": "Current_Cadastral_Features_294",
"field": {
"name": "pin",
"exactMatch": false,
"type": "esriFieldTypeString"
}
}
],
"tables": []
}
}
}
@jcarlson My webmap and dashboard are public. When I add a search layer and then turn off "By Address" I still get the ArcGIS Geocoding Service in the search.
WEBMAP SETTINGS:
DASHBOARD SEARCH:
That is beyond strange! There's nothing in the dashboard settings to store any kind of override, just "can this search". I know that adding layer searching to a map carries through to a dashboard, but how can it selectively ignore other settings?
Obviously, this needs some work. If you post an Idea for "overhaul search configuration in maps / dashboards", I'll totally vote it up.