HTML5 Viewer - Dynamic Layer Not Drawing When Adding Basemap Service
This is a bit long winded so I apologize ahead of time.
I have been trying to utilize the ESRI Topography service as a basemap in our HTML5 viewer, but our data doesn't exactly line up as I'd like it to. (labels, roads, etc..) With that being said I created a simple mask (Topography Mask) that matches the ESRI Topography color scheme and published it as a dynamic web service. I brought the Topography Mask service into my HTML5 viewer with the aims of having it draw on top of the ESRI Topography service, thus blocking out the labels and roads that do not line up within our project boundary. I nested this Topography Mask in a subfolder with the ESRI Topography basemap in the Basemaps folder found in the layer list. This allows the user to only select one subfolder. When Imagery is selected the Topography Mask and the ESRI Topography layer turn off and vica versa. This process works perfectly in this HTML5 viewer.
See below:
_img_ alt="Layer List" src="https://latitudegeo--c.na53.content.force.com/servlet/rtaImage?eid=906f2000000booR&feoid=Body&refid=0EMf2000000cZfl" _/_img_
With that being said I aimed to do the exact same process and configuration for my remaining 15 HTML5 sites, but for life of me it doesn't work.
Background on the remaining viewers: All the sites were created at the same time and all were upgraded at the same time. Currently running Viewer for HTML5 2.10.1. The sites are almost identical with the exception of the projet location and different map services.
Problem: I added my Topo Mask service and the ESRI Topography service and nested them in the same subfolder in the default Basemaps folder. All renders and works as should in the Geocortex Site Manger Preview. Save the site, open the viewer in a browser and my Topo Mask does not draw. It can be queried and selected, but it doesn't show on the map. I don't understand why it works in one site, but not the others. If I remove the ESRI Topography service from the viewer, then wala my Topo Mask draws as it should. I have ensured that my Topo Mask service is on top of the ESRI Topography service in the viewers map services.
See below:
_img_ alt="Map Services" src="https://latitudegeo--c.na53.content.force.com/servlet/rtaImage?eid=906f2000000booR&feoid=Body&refid=0EMf2000000cZfq" _/_img_
I feel like it's bug, but I could be mistaken. I have even gone as far as creating a blank site and importing the Topo Mask and ESRI Topography service and am still seeing the same issue. Any comments, suggesstions would be much appreciated. Being as how I got it working in one site, it was a perfect solution to overlaying our data nicely onto an existing ESRI basemap.
-Justin
0
-
Are these public? 0 -
Mike,
The sites are not public.
However, I just figured out the problem. It is something to do my existing Map Themes on the other sites. I removed the Map Themes, added my Topographic Mask and then the ESRI Topographic layers, recreated my Map Themes and it works perfectly.
I guess I'll be removing and recreating all my Map Themes on the remaining sites.
-Justin0 -
There has been a problem with Layer Themes and layers not showing up... See GVH-15088. In an email on a support case, Amanda from LG told me:
The best way to test quickly for this bug is to see if creating a brand new theme and enabling the layer there, or using the default "all available layers" theme works for that service. GVH-15088 will normally affect any layer themes that were created before the date that the map service in question was added to the site.
The way to fix the issue through the site xml is copying the themesettings tags from a working map service into the new one. I've done this in the attached site xml that you sent, but if you have saved changes to your site xml in the last few days that you don't want to lose, we can easily fix it over a screen share or you can follow these steps:
1. Back up your site.xml file and edit the original in a text editor like notepad
2. Search for "CityDynamicBoundary"
3. Scroll down to find the </MapService> closing tag for this map service
4. Right before that tag (should be somewhere after </Layers>), paste the ThemeSettings tags from a working service. For example:
<ThemeSettings>
<ThemeSetting ID="3" />
<ThemeSetting ID="6" />
<ThemeSetting ID="10" />
<ThemeSetting ID="7" />
<ThemeSetting ID="0" />
<ThemeSetting ID="4" />
<ThemeSetting ID="2" />
<ThemeSetting ID="8" />
<ThemeSetting ID="1" />
</ThemeSettings>
5. Save the file. The layers should now correctly follow their settings in manager for any of the themes matching the ids that were pasted into the site xml.0 -
Mike,
That's perfect. Save me some time replacing the ThemeSettings in the site xml rather then going through each individual site in Site Manager.
Thanks again.
-Justin0
Please sign in to leave a comment.
Comments
4 comments