Using ArcGIS Online webmaps, you can enable a popup for a tiled map service by selecting a feature layer either currently in the map, or providing a url to the feature layer service. I believe then the popup attributes for the tiled layer use the feature layer's attributes. Is there a way to do this using Javascript API? I am currently testing the CMV application but I need the popup option for a tiled layer. Here is the layer code in the CMV viewer.js file.

 type: 'tiled',
url: 'http://tiles.arcgis.com/tiles/cWzdqIyxbijuhPLw/arcgis/rest/services/Antelope_Areas/MapServer',
title: 'Antelope Hunt Areas',
options: {
          id: 'antelopeareas',
          opacity: 1.0,
          visible: true,

2 Answers 2


You could try this as a workaround. Add the layer twice, once as a tiled layer and once as a feature layer.

  1. Publish the layer with feature access enabled.
  2. Add the layer to CMV, as a type: feature.
  3. If you don't want it to show, set opacity: 0
  4. If you also want to hide it from the layer control, set the layerControlLayerInfos option to exclude: true.

    operationalLayers: [{
    type: 'feature',
    url: 'http://services1.arcgis.com/g2TonOxuRkIqSOFx/arcgis/rest/services/MeetUpHomeTowns/FeatureServer/0',
    title: 'STLJS Meetup Home Towns',
    options: {
        id: 'meetupHometowns',
        opacity: 0, //make this transparent
        mode: 1 //on demand
    legendLayerInfos: {
        exclude: true //hide from layer controller

I tried the work around, but just messing around with different settings, I placed the type='dynamic' on my tiled service. Amazing, that the identify worked like a dynamic service, but was still drawing like my tiled service. I don't know if it is supposed to work, but it did, so I will go with it.

  //this is a tiled service but to make identify work keep as dynamic. 
            type: 'dynamic',
            url: 'https: .....rest/services/Reference/CENSUS_Cache/MapServer',
            title: 'Census',
            options: {
                id: 'Census',
                visible: false,
            identifyLayerInfos: {
                layerIds: [0, 1, 2]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.