Identify Widget,

751
2
Jump to solution
05-04-2020 11:13 PM
BingJing
New Contributor III

I was able to use Robert's Identify Widget with REST map services from ArcGIS Server successfully.

Now I need to Identify feature layers that is published on ArcGIS Online. (https://services1.arcgis.com/D9ezssdp37tr9wbT/arcgis/rest/services/City_of_Carson_Basemap_2020_WFL1/...)

I configured the Identify Widget, and check-marked the "Only These" checkbox . But it can only Identify the 6 visible layers(from Layerlist), and none of them are in my configured layers. Why?

Thank you for your help!

0 Kudos
1 Solution

Accepted Solutions
RobertScheitlin__GISP
MVP Emeritus

Bing,

   The urls have to match protocol (i.e. http ot https) and cAsE when entered into the widgets setting to exactly what the map is actually using. There are no known issues with this widget and layers from AGOL.

View solution in original post

2 Replies
RobertScheitlin__GISP
MVP Emeritus

Bing,

   The urls have to match protocol (i.e. http ot https) and cAsE when entered into the widgets setting to exactly what the map is actually using. There are no known issues with this widget and layers from AGOL.

BingJing
New Contributor III

Hi Robert

The URLS are correct. The widget does not Identify invisible featureserver layers. I tested today.. I could only get identify results by turning on those layers in my LayerList widget.

While waiting for your reply, I debugged and commented out this section and now it is working .... Is this the right solution?

IdentifyFeatures:Function(geom){

....

if (layer.type && layer.type === 'Feature Layer') {
if (!layer.url || layer.url === '' || !layer.hasOwnProperty('url')) {
return false;
}
if (this.config.layers.onlythese === true) {
if (this.isService2beIdentified(layer)) {

   /* //BJ 5/5/2020, comment out this because I want to identify invisible layers for featureServer on AGOL

   if (this.identifylayeroption === 'visible' || this.identifylayeroption === 'top') {
      if (!layer.visible || !layer.isVisibleAtScale(this.map.getScale())) {
         return false;
      }
      }

*/

.....

0 Kudos