Overview:
Hello, I am pretty desperate for help and have called IT twice about this issue so any help is much appreciated.
I am new to Experience Builder and I'm trying to make what I think is a relatively simple app but I'm running into some serious issues with widget connectivity and it is impacting user experience. I am trying to make a dashboard to help the city recover from a recent tornado. It needs to consist of a map widget, a multi-select filter widget, a feature info widget, and a map layer widget that interact together smoothly.
Data & Map Setup:
- I have a geoJSON file that consists of a neighborhood shapefile joined with a CSV file with various attributes from census data.
- I uploaded the geoJSON file as a hosted feature layer and created views for each of the attributes that I wanted to make a choropleth map for (this seemed really inefficient and I'd like some insight on whether this was a mistake).
- I brought all of the views into the map as layers and grouped the ones that I wanted to have exclusive visibility (census measures like total population, population under 5, etc.). These census measures are used for the gradient of the choropleth map. There are also a few shapefile layers above the choropleth map like public transit, the tornado path, damaged schools, etc.
Functionality:
All I want is for the user to be able to filter for 1 or more neighborhoods using the filter widget (or some equivalent workaround) and toggle layer visibility with the map layer widget. As those two widgets are adjusted, I want the following to happen:
- The map should zoom in on the neighborhoods that are selected in the filter widget.
- This has been set up successfully by creating a group filter that filters each of the layers by the neighborhood name field, which they all have, and adding a Zoom To trigger pointed at the map widget.
- The feature info box should update based on the selected neighborhood.
- The feature info does change based on the neighborhood selected, but it keeps defaulting to another layer that is not relevant to the neighborhood filter nor to what I want to include in the feature info box. If I use the data navigation in the feature info box to go back to the census measure, it is filtered for the neighborhood as expected.
- The feature info box should also update based on the selected layer in the map visibility widget.
- Changing the visible layer in the map layer widget causes the feature info widget to default back to the first record selected (one of the schools in the top layer). The user then has to click on the neighborhood again within the map in order for the correct layer's pop-up to show in the feature info box. I'd like to be able to control which layers are visible in the feature info box using the map layer widget. I
- Things I have tried:
- Manually selecting the data to connect the feature info to so that I could be more selective about the layers included (instead of having the feature info interact directly with the map widget), but then all of the map layers show up and the user has to select the proper layer after already selecting that layer in the map layer widget to affect the shading of the map.
- I tried using the regular pop-up instead of the feature info, but I don't think you can scroll through the selected records in the regular pop-up like you can with the feature info. In addition to that, the filter widget does not technically select the records that are filtered for, so the regular pop-up is not triggered anyway.
- Alternatives I'd be happy with:
- Controlling the layer visibility on the map using the data navigation dropdown in the feature info box. If this is possible, I could remove the map layer widget entirely.
Additional things I've tried:
- Replacing the filter widget with the list widget: the list widget doesn't have multi-select.
- Replacing the filter widget with the search widget: the list widget doesn't have multi-select.
Should I just create a separate map for each attribute and a separate page for each map to get the functionality I want? That seems incredibly tedious.
Here is a mockup I created to use as a sandbox/show the issue at hand:
https://experience.arcgis.com/experience/691bb3f0cbfd477a956b7846c39cc60a