The best approach is NOT to have a web map with 300 layers. Years ago people believed that it was the best way to create a single application with all the information they could get their hands on that would serve every single user requirement you can define. Nowadays, you will see more focused apps with only relevant data to serve a user requirement. Easy to configure and much more easy to use.
Is there any specific reason why you want to have 300 layers in a single web map?
My client wants one single application with all 300 layers accessible, unfortunately that's NOT debatable.
If we want to work with empty webmap and using the widget 'Add data' to add layer to the map.
the problem with that approach is that some of widgets settings use the webmap to make settings to the layers.
for example 'Smart Editor' or 'Attributes table'
it's mean that to see and config the layers we need that the layers should be in WebMap
so the settings page in WAB can config them(for example visibility and etc... )
First of all, I strongly believe that everything is and should be debatable. If a client is convinced about requiring an application with 300 layers in it, there should be the possibility to discourage the client from doing this and preventing them to construct this "monster" application meant to serve everyone and that will likely end up serving no one.
What do you think that 300 layers will do with to performance? How user friendly will it be if a user needs to scroll through 300 layers trying to find the one he/she needs?
Can you elaborate a little more on the workflow of the end user? What is the purpose of the App? What type of data do you have in those 300 layers? Where are they hosted?
I'm going to tag Derek Law who is an expert on WAB and might be able to share his point of view.
I have built a few applications where there is a need for many layers in a web map. One type is a project where users propose new mapping surveys based off the available data that we have compiled for a region, which can include existing surveys, oceanographic conditions, bathymetry, fishing restriction areas, protected areas, etc.
The map service for the available data can have many layers in it, but they are grouped into categories so it's not one long list they have to search through. The web map is set up where all the layers are turned off to begin with, but the user can turn them on as needed.
I agree with everything Xander Bakker stated. I can't see how a web application with 300 layers is a good idea.
It would also help to expand on your comment "(the layers should not be visible on map)". What purpose will they serve? Displaying attribute information?
Thanks you all for reply,
I will try to expand the senario.
The layers should not be visible on map, the idea it's to develop an widget that will let the user to select layers by categories which layers he want to show.
The purpose it's to manage the appearance of the layers in the webapp (like i said) such as popup, symbolgy transparency and etc.
We understand that showing 300 layers at once in one webmap is useless.
but we need some sort of way to manage those layers.
If we want to use for example the 'Attribute table' widget and config which layers or columns will shown and which order - we must load webmap first with those layers.
(some of widgets supports manage after adding layers with 'Add data' widget)
We want to publish once and continue customize in portal.
All layers hosted in Arcgis Server with Portal for arcgis (Federate)
> ... the idea it's to develop an widget that will let the user to select layers by categories which layers he want to show.
Why not create and deploy a different web app for each category? So each web app would serve a specific functional purpose ... ideally for a specific business use case.
Hope this helps,
Hi Derek Law,
Why not create and deploy a different web app for each category?
The problem it's not with 'create' but with deploy and maintance it's will difficulte.
We have 300 layers and 15 Categories, that mean 20 diffrentes webmaps.
I think that it's not make sense to deploy and maintaince 20 webmaps for the same application.
Also webappbuilder manage with only 1 webmap per app.
Is there any option maybe (with some code) to not load the layers in the webmap in webapp builder.
I will try to be clear:
I tried to remove the 'TOC' Widget but the layers still loaded (even they are not visible) I think it's connected to the webmap.
maybe there is any tweak in Jimu framework that we can load the webmap itself but not the layers inside
(we will load them after - manually by demand)
Hope it's clear...