Survey123 Multiple Basemaps

233
3
Jump to solution
12-21-2021 04:47 AM
AlisonSmall
New Contributor II

Hi,

I have multiple web maps because my project is in a building environment (basement, ground floor, first floor, second floor). The user changes the basemap to the appropriate level (web map) of the building.

When a user completes a survey123 form, and is then published on survey123 to a report, the basemap changes back to the default basemap selected in the 'map' tab on survey123 connect. 

Is there a way for the user to change the basemap and almost over-write the default? Or can I remove a default basemap?

 

1 Solution

Accepted Solutions
DerrickWestoby
Occasional Contributor III

Yes, it's possible to display a different basemap (and geometry styles/symbols) in the feature report. 

See the feature report syntax here - https://doc.arcgis.com/en/survey123/browser/analyze-results/featurereporttemplates.htm 

Example: 

${project_extents | drawingInfo:"currentLayer" | mapSettings:"271be24809ea473e9eb7d31579563e85"| size:600:550:0:0}

"currentLayer" means that the symbology set in my feature layer's "Visualization" tab will be used. 

The quoted string after mapSettings is the itemID for the web map that I want this geoshape to be rendered with. 

 

Assuming that you have a field with something like ${floor_number}, you could make your feature report use a specific web map to print out all responses on floor 1, a different web map to print all responses on floor 2, etc. 

${#repeat_name}${if floor_number='1'}

${sample_geopoint | drawingInfo:"currentLayer" | mapSettings:"itemIDofWebmapWithFloorPlan1"| size:600:550:0:0}

${/}${/repeat_name}

${#repeat_name}${if floor_number='2'}

${sample_geopoint | drawingInfo:"currentLayer" | mapSettings:"itemIDofWebmapWithFloorPlan2"| size:600:550:0:0}

${/}${/repeat_name}

 

You could also do something like calculate the extents of all geopoints on floor plan 1, pass that on to a geoshape question to calculate the extents, and then render that geoshape with a webmap containing all of your collected points (filtered to floor=1).  

 

Here's a few examples from reports using different parts of what I mentioned above:

DerrickWestoby_0-1641864354218.png

 

DerrickWestoby_1-1641864378793.png

 

DerrickWestoby_2-1641864502456.png

 

 

DerrickWestoby_3-1641864593076.png

 

View solution in original post

3 Replies
Philip-Wilson
Esri Notable Contributor

Hi @AlisonSmall,

Just to confirm, are you wanting to display the basemap that they used when they submitted the survey in the Feature Report? Currently the default basemap is used, but you are wanting to display a different basemap in the feature report if a different once was selected at the time of submission?

Regards,

Phil.

0 Kudos
AlisonSmall
New Contributor II

Hi @Philip-Wilson 

Yes that's correct. Is this possible?

Thank you,

Alison

0 Kudos
DerrickWestoby
Occasional Contributor III

Yes, it's possible to display a different basemap (and geometry styles/symbols) in the feature report. 

See the feature report syntax here - https://doc.arcgis.com/en/survey123/browser/analyze-results/featurereporttemplates.htm 

Example: 

${project_extents | drawingInfo:"currentLayer" | mapSettings:"271be24809ea473e9eb7d31579563e85"| size:600:550:0:0}

"currentLayer" means that the symbology set in my feature layer's "Visualization" tab will be used. 

The quoted string after mapSettings is the itemID for the web map that I want this geoshape to be rendered with. 

 

Assuming that you have a field with something like ${floor_number}, you could make your feature report use a specific web map to print out all responses on floor 1, a different web map to print all responses on floor 2, etc. 

${#repeat_name}${if floor_number='1'}

${sample_geopoint | drawingInfo:"currentLayer" | mapSettings:"itemIDofWebmapWithFloorPlan1"| size:600:550:0:0}

${/}${/repeat_name}

${#repeat_name}${if floor_number='2'}

${sample_geopoint | drawingInfo:"currentLayer" | mapSettings:"itemIDofWebmapWithFloorPlan2"| size:600:550:0:0}

${/}${/repeat_name}

 

You could also do something like calculate the extents of all geopoints on floor plan 1, pass that on to a geoshape question to calculate the extents, and then render that geoshape with a webmap containing all of your collected points (filtered to floor=1).  

 

Here's a few examples from reports using different parts of what I mentioned above:

DerrickWestoby_0-1641864354218.png

 

DerrickWestoby_1-1641864378793.png

 

DerrickWestoby_2-1641864502456.png

 

 

DerrickWestoby_3-1641864593076.png