I have an Experience in which I have a text and sidebar widget. The text widget is just for the title. The sidebar widget has the map in the main screen and a collapsible table that is at the bottom. I have recreated my app using ExB from a Web AppBuilder app. It had been working correctly.
The web map contains many layers with pop-ups enabled. It works correctly in the web map. However, when I open my ExB, my hosted image services pop-ups do not display.
These image services are stored on our Microsoft Azure Storage Explorer (as a COG) then shared as a web layer to our Portal. In Portal, the image service is shared with Everyone. Then, this service URL is copied and added to ArcGIS Online by "adding a new item by URL."
In my ExB app, I can turn on the image service layers and they appear in the map. If I click on the map, if there are any other layers visible, a pop-up appears. If no other layers lay on top of the image service layer, no pop-up appears. For example, I have a hosted vector layer lying on top of a hosted image layer. The pop-up appears and it shows the data for the vector layer and it states that there are two pop-ups to see. But when I click the arrow to move to the second pop-up, the whole pop-up window disappears. If I turn off the vector layer so only the image layer is displayed, no pop-up appears at all.
I can't share the map/app publicly as it has sensitive information.
I am experiencing the exact same issue with the current ArcGIS Online Experience builder.
I have a webmap that contains a hosted feature layer, many image layers, and 2 Digital Elevation Model (DEM) layers.
The image layers are sourced from image services created from mosaic datasets. The DEM layers are sourced from image services, but created from simple raster datasets so that I can take advantage of the raw pixel value to display in my popup.
As with @AnninaRupe1 , the popup will display the info from the hosted feature layer, and the popup indicates the DEM. But no popup will remain on screen for the DEMs. Just a spinning gif that then disappears.
The webmap has no issue displaying the popup from the DEM.
This behavior seems fairly recent, within the last few weeks or so.
I can share my experience:
https://experience.arcgis.com/experience/9bc2ab51ea0d44c19578f7ea202c74bd
We're going through some bad flooding from TS Debby, and it would be helpful to get this resolved - maybe some on the ExB team can take a look?
I would guess this is React framework or jimu issue, esp after reading through @JeffreyThompson2 's blog post here:
In the meantime, I just stood up a quick Instant app that I link to from the Experience
Hi @DavidColey
Thanks for sharing the app with us, that helps a lot. After investigations with my colleagues, I can give you some ideas as to why this happened -
The target layer is a dynamic imagery layer type, however, the specialty about it is that it does not contain any fields - no OBJECTID either
Our map widget has the logic to check and sync with the data source selection (so that in regular cases, other widgets will be able to use these selections), and OBJECTID being null has caused the check to fail. Thus, you will see the loading and then flash behavior.
"This behavior seems fairly recent, within the last few weeks or so." - However, this comment seems a bit confusing to me, since the logic is there for a while. It should not happen recently.
@AnninaRupe1 You can let us know if that's the same case with you. We suspect it might be.
Anyway, we will keep a record of this, and try enhance the behavior of this specific case. It would be nice if the service could stay for testing for a while.
Best,
Tonghui
Thanks for the response, @TonghuiMing. My layers show the same as above: there isn't an ObjectID field or other Fields and the Max Record Count is <null>.
However, I have the same comment as @DavidColey : these pop-ups WERE working just a couple of weeks ago. I need this capability. What is a solution?
Hi @TonghuiMing - thanks for the reply.
"The target layer is a dynamic imagery layer type, however, the specialty about it is that it does not contain any fields - no OBJECTID either"
- this is normal for a dynamic image service sourced from a file geodatabase Raster Dataset. This is the only way to get at the service pixel values.
Clearly, the JavaScript 4.x api recognizes and interprets the pixel values from the image service as fields that can return values, the {Raster.ServicePixelValue} and the {Raster.ServicePixelValueRaw}:
And so Instant Apps or a custom JavaScript 4.x app with Calcite components have no problem returning these values.
But yes, like @AnninaRupe1 - we need this capability in the ExB and it was there. I could see in the Console log that something was 'missing fields', and I assumed that was the raster datasets. What happened?
Yes - both of my elevation services are public, you can access through the rest endpoint. Until then, I had to stand up a simple viewer that my users can access via a new Button link on my ExB, but this is not a solution.
Just to kind of follow up on this @TonghuiMing - when you write:
""
Our map widget has the logic to check and sync with the data source selection (so that in regular cases, other widgets will be able to use these selections), and OBJECTID being null has caused the check to fail. Thus, you will see the loading and then flash behavior.
"This behavior seems fairly recent, within the last few weeks or so." - However, this comment seems a bit confusing to me, since the logic is there for a while. It should not happen recently.
""
I'd just like to add that I would have used an Instant App solution for my app (probably Media Map), but none of them we're quite right, since we needed customers and residents to be able to add data layers AND return a pixel value.
I would never have used the ExB solution if the pixel value were NOT returned when I created the app on June 3, 2024. I was quite happy to see that the map widget popup did honor the pixel value as a return.
So, to me, you saying that the ExB map widget should never have returned a pixel value doesn't sound right - UNLESS the behavior began with the June 26, 2024 ArcGIS Online update and I just did not notice until the last week or so.
If that's the case, then I would say the June 26 Online update has a breaking change and to please fix . . .
Hi @DavidColey and @AnninaRupe1 ,
We dug more, and it does seem that this is something introduced by the June release, supporting the imagery layers. Unfortunately, I don't think there is a quick workaround or solution to fix it. Maybe re-publishing the service with certain field/OBJECTID values? But I am not sure how that would work for your workflow...sorry for the inconvenience.
We do plan to get it resolved in the next release, and hopefully, that could help. Feel free to keep us informed on any other related aspects on this topic.
Thank you for bringing this up.
Tonghui
When is the next release planned? I'm not sure how to republish with the field/OBJECTID values--my imagery layers are in COG form. If you have any guidance on that, I'd be appreciative.
Ok thank you for the update on this @TonghuiMing. Please let us know if a fix comes out with the current release, as I suspect the next Online release will be in November / December?
I suppose for us, I could add my file geodatabase raster dataset as a source raster for a Mosaic Dataset and then construct that Image Mosaic dataset without Overview files.
Otherwise, a service pixel value returned from an Overview file pixel will contain skewed (averaged or otherwise interpolated) values. For an elevation DEM, that cannot be.
But it is tricky to do and requires a lot of work, and this may not be an option for @AnninaRupe1 or others using COG. She would have to construct Image Mosaic datasets using the cloud-sourced COG (Cloud Optimized GeoTiff) files as the source rasters, and then would need to be able to store Overview files and in their cloud location.