Map Service

Description

Map services offer access to the contents of a map hosted on a server. Map services can expose different levels of capabilities. When a map service is hosted on ArcGIS Online or Portal for ArcGIS, it exposes a set of tiled images that are used by the client for rapid map navigation. When a map service is hosted on an ArcGIS Server site, it exposes additional functionality, such as dynamic drawing, query, and search. With ArcGIS Server, further web services may be available through the map service root URL that allow network analysis, vector feature editing, and so forth.

The REST API Map Service resource works only with the default data frame of your published map document. This resource provides basic information about the map, including the layers that it contains, whether or not the map is cached, its spatial reference, initial and full extents, map units, and copyright text. It also provides some metadata associated with the service, such as its service description, its author, and keywords. If the map is cached, additional information about its tiling scheme, such as the origin of the cached tiles, the levels of detail, and tile size, is included.

Map services do not expose editing capabilities. They provide read-only access to feature and attribute content.

Map services hosted by ArcGIS Online and Portal for ArcGIS

Map services hosted by ArcGIS Online or Portal for ArcGIS can only return tiles from the server's cache; they cannot draw images dynamically, nor do they allow query of the individual features behind the map. You can support queries and informational pop-up windows in your applications by using feature services in conjunction with your map services.

Accordingly, some of the resources, operations, and properties mentioned in this section of the documentation do not apply to map services hosted by ArcGIS Online or Portal for ArcGIS.

Map services hosted by ArcGIS Server

Map services hosted by ArcGIS Server support a larger set of operations:

  • Export map—Used to export a map image from a dynamic map service. The resulting map can be used for display and be in a different projection from the original data source. When generating a map image, map services are not able to change feature rendering for an existing layer, add a dynamic layer, or change the layer draw order.
  • Identify—Returns information about features in one or more layers based on where a user clicks on the map.
  • Find—Returns information about features in one or more fields in one or more layers based on a keyword.
  • Generate KML—Generates a KML document wrapped in a KMZ file. The document contains a network link to the KML service endpoint with specified properties and parameters. This operation is valid on services that have not been restricted by using a token service.
  • Query on a Layer/Table—Returns a subset of features in a layer or records in a table based on query criteria.

New in 10.5

  • Supports the following new parameters in export, identify, find and query operations.
    • datumTransformation
    • mapRangeValues
    • layerRangeValues
    • layerParameterValues
  • Map service root resources includes activeRangeName and currentRangeExtent when the map has ranges.
  • Layer resources includes rangeInfos and parameterInfos when available.
  • identify and find operations are enhanced with the following boolean flags to support returning unformatted values and field names when desired.
    • returnUnformattedValues
    • returnFieldName
  • Supports sql expressions in query operation's orderBy, groupByFieldsForOutStatistics and outStatistics. Check supportsSqlExpression on resources to find out whether the layer/table allows sql expressions.
  • returnUpdates response includes updated full spatial extent when the map contains one or more layers from enterprise geodatabases.

New at 10.4

  • GeoJSON is supported as an output format of the map service layer query operation.
  • The Query operation supports expressions in addition to field names for orderByFields and groupByFieldsForStatistics.

New at 10.3

  • Map Service will return resampling:true|false, indicating whether clients should resample tiles for areas where tiles are unavailable. This property is not enabled by default; you can add it using the ArcGIS Server Administrator Directory.

New at 10.2

  • Standardized SQL queries are the default way to specify a where clause or definition expression. The map service Layer and Dynamic Layer resources now report a property useStandardizedQueries to indicate the support for standardized queries.
  • Query operations on Layer and Dynamic Layer now support specifying a gdbVersion parameter in conjunction with the outStatistics parameter.
  • The Renderer object supports two new optional properties: rotationType that controls the origin and direction of rotation, and rotationExpression, which is a constant value or an expression that derives the angle of rotation based on the feature attribute value. When an attribute name is specified in rotationExpression, it is enclosed within square brackets, for example: [Rotation].
  • The Map Service resource lists two new properties: exportTilesAllowed, a Boolean flag that indicates whether clients can export cache tiles, and maxExportTilesCount that specifies the maximum number of tiles that can be exported to a cache dataset or a tile package.
  • The Map Service resource lists a new property supportedExtensions, a comma-separated list of extensions supported by the map service.

New at 10.1 SP1

  • Query operations on Layer and Dynamic Layer support a new parameter called returnDistinctValues that accepts a Boolean value. When true, query results will contain distinct values based on the fields specified in the outFields parameter.
  • Query operations on Layer and Dynamic Layer support the geometry parameter to be used in conjunction with the outStatistics parameter.
  • The Legend resource returns the height and width of the legend symbol.
  • The All Layers/Table, Layer, and Dynamic Layer resources now include an ownershipBasedAccessControlForFeatures flag to indicate ownership.

New at 10.1

  • The Map Service resource supports a new parameter, returnUpdates, that accepts a Boolean value. Pass this parameter to retrieve updated information from the map service.
  • The Map Service resource has new input parameters, option and outSR, to support viewing of a map service footprint in arcgis.com.
  • Support for dynamic layers has been added to map service. This allows per request modification of renderer, joins, geodatabase version, or layer order for existing map service layers. If the map service has registered workspaces, dynamic layers also allow per request addition of layers based on the data from the registered workspaces. Use the supportsDynamicLayers property on the Map Service resource to determine if the service supports dynamic layers.
  • The Map Service resource contains maxRecordCount, maxImageHeight, and maxImageWidth properties. maxRecordCount represents the maximum number of records that can be returned by query, find, and identify operations. maxImageHeight and maxImageWidth represent the maximum image height and width, in pixels, the map service will export.
  • The Map Service resource includes the tileServers property, which advertises multiple subdomains on a map service endpoint. This allows the tile requests to be split across the tile servers specified in this property, for example, http://maps1.myserver.com and http://maps2.myserver.com.
  • The Map Service resource includes supportedQueryFormats. This value indicates the supported output formats for a query operation.
  • The Map Service resource includes these new properties under timeInfo: timeRelation, defaultTimeInterval, defaultTimeIntervalUnits, defaultTimeWindow, and hasLiveData.

    • timeRelation indicates how the start and end time of the time slider extent are processed: esriTimeRelationOverlaps when start and end time of the time slider are included, esriTimeRelationOverlapsStartWithinEnd when start time is included and end time is excluded, and esriTimeRelationAfterStartOverlapsEnd when start time is excluded and end time is included.
    • defaultTimeInterval and defaultTimeIntervalUnits indicate the initial time slider step size. The allowed units include the following:
      • esriTimeUnitsCenturies
      • esriTimeUnitsDays
      • esriTimeUnitsDecades
      • esriTimeUnitsHours
      • esriTimeUnitsMilliseconds
      • esriTimeUnitsMinutes
      • esriTimeUnitsMonths
      • esriTimeUnitsSeconds
      • esriTimeUnitsWeeks
      • esriTimeUnitsYears
      • esriTimeUnitsUnknown
    • defaultTimeWindow indicates the time slider window size.
    • hasLiveData returns a Boolean value. If true, export and identify operations will default the value for the time parameter to be [<current server time - defaultTimeWindow>, <current server time>].

  • The Map Service resource includes minScale and maxScale properties. For a cached map service, these values represent the minimum and maximum map scales at which the administrator has allowed the tiles to be built. In the case of a dynamic map service, these values are calculated as a union of minimum and maximum scales of all the map layers.
  • The Map Service resource includes hasVersionedData if any of the map layers data is versioned. When true, map service operations accept the gdbVersion parameter to switch the geodatabase version.

New at 10.0 SP1

  • Support for a Map Service Legend child resource was added.
  • The Map Service resource includes scale information (minScale and maxScale) for layers.

New at 10.0

  • At 10 and later, in addition to layers, map services can also publish stand-alone tables. The response includes a new tablesproperty that contains some basic information about tables. The child layer resource is now a Layer/Table resource in that it represents either a layer or a table depending on the ID that was specified.
  • Support for time-aware map services was added at 10. If the map supports querying and exporting maps based on time, the response will include a timeInfo property that includes information such as the map's time extent and the map's native time reference. However, the REST API always encodes time in UTC (milliseconds from epoch).

Request parameters

ParameterDetails
f

Description: The response format. The default response format is html.

Values: html | json | kmz | lyr | nmf | jsapi | ve | gmaps

returnUpdates

This parameter was added at 10.1.

Description: If value is true, returns updated time extent. If the service is not time aware, returns an empty response.

Values: true | false

option

This parameter was added at 10.1.

Description: If option is footprints, the footprint of the map service is returned as a feature collection. This feature collection can be viewed in an arcgis.com map. This is supported when f=json only.

Values: footprints

outSR

This parameter was added at 10.1.

Description: The spatial reference of the geometry returned in footprints. This parameter is supported only when option=footprints is specified.

The spatial reference should be specified as a well-known ID.

If outSR is not specified, the geometry is returned in GCS_WGS_1984.

Example usage

Example: URL for the "ESRI_StateCityHighway_USA" map service on sampleserver1.

http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StateCityHighway_USA/MapServer

JSON response syntax

The following properties were added to the JSON response at 10.2:

  • exportTilesAllowed
  • maxExportTilesCount
  • supportedExtensions

The following properties were added to the JSON response at 10.1:

  • supportsDynamicLayers
  • timeInfo

    • timeRelation
    • defaultTimeInterval
    • defaultTimeIntervalUnits
    • defaultTimeWindow
    • hasLiveData

  • maxRecordCount
  • maxImageHeight
  • maxImageWidth
  • minScale
  • maxScale
  • tileServers
  • supportedQueryFormats

The following property was added to the JSON response at 9.3.1:

  • supportedImageFormatTypes

{
"currentVersion": <currentVersion>, //Added at 10.0 SP1
"serviceDescription" : "<serviceDescription>",
"mapName" : "<mapName>"
"description": "<description>",
"copyrightText" : "<copyrightText>",
"supportsDynamicLayers" : <true|false>, //Added at 10.1
"layers": [ //the spatial layers published by this service
    {
    "id" : <layerId1>, 
    "name" : "<layerName1>", 
    "defaultVisibility" : <true|false>, 
    "parentLayerId" : <parentLayerId1>,
    "subLayerIds" : [<subLayerId11>, <subLayerId12>]
    "minScale": <minScale1>, //Added at 10.0 SP1
    "maxScale": <maxScale1>
    },
    {
    "id" : <layerId2>, 
    "name" : "<layerName2>", 
    "defaultVisibility" : <true|false>, 
    "parentLayerId" : <parentLayerId2>,
    "subLayerIds" : [<subLayerId21>, <subLayerId22>]
    "minScale": <minScale1>,
    "maxScale": <maxScale1>
    }
],
"tables": [ //the tables published by this service - from 10 onward
    {
    "id" : <tableId1>, 
    "name" : "<tableName1>"
    },
    {
    "id" : <tableId2>, 
    "name" : "<tableName2>"
    }
],
"spatialReference" : {<spatialReference>},
"singleFusedMapCache" : <true | false>,
"tileInfo": {
    "rows" : <rows>, "cols" : <cols>, "dpi" : <dpi>, "format" : <format>, "compressionQuality" : <quality>,
    "origin" : {<point>},
    "spatialReference" : {<spatialReference>},
    "lods": [
        {"level" : <level1>, "resolution" : <resolution1>, "scale" : <scale1> },
        {"level" : <level2>, "resolution" : <resolution2>, "scale" : <scale2> }
    ]
},
"initialExtent" : {<envelope>},
"fullExtent" : {<envelope>},
//from 10 onward - if the map supports querying and exporting maps based on time
"timeInfo" : {
  "timeExtent": [<startTime>, <endTime>],
  "timeReference": {
    "timeZone": "<timeZone>",
    "respectsDaylightSaving": <true | false>
  },
  "timeRelation": "<esriTimeRelationOverlaps | esriTimeRelationOverlapsStartWithinEnd | esriTimeRelationAfterStartOverlapsEnd>",
  "defaultTimeInterval" : <time interval>,
  "defaultTimeIntervalUnits" : "<esriTimeUnitsCenturies | esriTimeUnitsDays | esriTimeUnitsDecades |
                             esriTimeUnitsHours | esriTimeUnitsMilliseconds | esriTimeUnitsMinutes |
                             esriTimeUnitsMonths | esriTimeUnitsSeconds | esriTimeUnitsWeeks | esriTimeUnitsYears |
                             esriTimeUnitsUnknown>",
  "defaultTimeInterval" : <time interval>,
  "defaultTimeWindow" : <time window>,
  "hasLiveData" : <true | false>,
},
"units" : "<units>",
"supportedImageFormatTypes" : "<supportedImageFormatTypes>",
"documentInfo": {
    "<key1>" : "<value1>",
    "<key2>" : "<value2>"
},
//comma separated list of supported capabilities - e.g. "Map,Query,Data"
"capabilities" : "<capabilities>",
"maxRecordCount" : <maxRecordCount>, //Added at 10.1
"maxImageHeight" : <maxImageHeight>, //Added at 10.1
"maxImageWidth" : <maxImageWidth>, //Added at 10.1
"minScale" : <minimum map scale>, //Added at 10.1
"maxScale" : <maximum map scale>, //Added at 10.1
"tileServers" : ["<tileServerUrl1>","<tileServerUrl2>","<tileServerUrl2>"], //Added at 10.1
"supportedQueryFormats" : "<query output formats>",
"exportTilesAllowed": <true | false>,
"maxExportTilesCount: <export tiles limit>,
"supportedExtensions": "<FeatureServer,KmlServer,MobileServer,WCSServer,WFSServer,WMSServer,NAServer,SchematicsServer>",
"resampling" : <true | false> // Added at 10.3
}

JSON response example

{
    "currentVersion": 10.1,
    "serviceDescription": "Test Map Service Description",
    "mapName": "Street Map Pro Data",
    "description": "Street Map USA",
    "copyrightText": "ESRI",
    "supportsDynamicLayers": false,
    "layers": [
        {
            "id": 0,
            "name": "Cities",
            "defaultVisibility": true,
            "parentLayerId": -1,
            "subLayerIds": null,
            "minScale": 0,
            "maxScale": 0
        },
        {
            "id": 1,
            "name": "States",
            "defaultVisibility": true,
            "parentLayerId": -1,
            "subLayerIds": null,
            "minScale": 0,
            "maxScale": 0
        },
        {
            "id": 2,
            "name": "Counties",
            "defaultVisibility": false,
            "parentLayerId": -1,
            "subLayerIds": [
                3,
                4
            ],
            "minScale": 0,
            "maxScale": 0
        },
        {
            "id": 3,
            "name": "Large Counties",
            "defaultVisibility": false,
            "parentLayerId": 2,
            "subLayerIds": null,
            "minScale": 0,
            "maxScale": 0
        },
        {
            "id": 4,
            "name": "Small Counties",
            "defaultVisibility": false,
            "parentLayerId": 2,
            "subLayerIds": null,
            "minScale": 0,
            "maxScale": 0
        }
    ],
    "spatialReference": {
        "wkid": 4326
    },
    "singleFusedMapCache": true,
    "tileInfo": {
        "rows": 512,
        "cols": 512,
        "dpi": 96,
        "format": "JPEG",
        "compressionQuality": 75,
        "origin": {
            "x": -130,
            "y": 50
        },
        "spatialReference": {
            "wkid": 4326
        },
        "lods": [
            {
                "level": 0,
                "resolution": 8.46,
                "scale": 32000
            },
            {
                "level": 1,
                "resolution": 4.23,
                "scale": 16000
            },
            {
                "level": 2,
                "resolution": 2.11,
                "scale": 8000
            },
            {
                "level": 3,
                "resolution": 1.05,
                "scale": 4000
            },
            {
                "level": 4,
                "resolution": 0.52,
                "scale": 2000
            }
        ]
    },
    "initialExtent": {
        "xmin": -109.55,
        "ymin": 25.76,
        "xmax": -86.39,
        "ymax": 49.94,
        "spatialReference": {
            "wkid": 4326
        }
    },
    "fullExtent": {
        "xmin": -130,
        "ymin": 24,
        "xmax": -65,
        "ymax": 50,
        "spatialReference": {
            "wkid": 4326
        }
    },
    "units": "esriDecimalDegrees",
    "supportedImageFormatTypes": "PNG32,PNG24,PNG,JPG,DIB,TIFF,EMF,PS,PDF,GIF,SVG,SVGZ",
    "documentInfo": {
        "Title": "StreetMap USA.mxd",
        "Author": "ESRI Data Team",
        "Comments": "ESRI Data and Maps 2004",
        "Subject": "Street level data for the US",
        "Category": "vector",
        "Keywords": "StreetMap USA"
    },
    "capabilities": "Map,Query,Data",
    "maxRecordCount": 1000,
    "maxImageHeight": 2048,
    "maxImageWidth": 2048,
    "minScale": 0,
    "maxScale": 0,
    "tileServers": ["http://myserver/arcgis/rest/services/basemap/MapServer","http://myserver2/arcgis/rest/services/basemap/MapServer"],
    "supportedQueryFormats": "JSON, AMF",
    "exportTilesAllowed": true,
    "maxExportTilesCount": 100000,
    "supportedExtensions": "FeatureServer,KmlServer,MobileServer,WCSServer,WFSServer,WMSServer,NAServer,SchematicsServer"
}

Example 2: When requesting updated information from the service:

JSON response syntax

{
  "timeExtent": [
    <startTime>, 
    <endTime>
  ],
  "fullExtent": {
    "xmin": <xmin>,
    "ymin": <ymin>,
    "xmax": <xmax>,
    "ymax": <ymax>,
    "spatialReference": <spatialReference>
 }
}

JSON response example

{
  "timeExtent":
    [
      1230768000000, 1243814400000
    ],
  "fullExtent": {
    "xmin": -178.21759836192689,
    "ymin": 18.924781799107389,
    "xmax": -66.969271035924393,
    "ymax": 71.406235352841463,
    "spatialReference": {
       "wkid": 4269,
       "latestWkid": 4269
    }
  }
}

Example 3: When requesting footprint for a service:

URL: http://sampleserver.arcgisonline.com/arcgis/rest/services/Specialty/ESRI_StateCityHighway_USA/MapServer?f=json&option=footprints&outSR=102100

JSON response syntax

{
    {
    "featureCollection": {
        "layers": [
            {
                "layerDefinition": {
                    "type": "Feature Layer",
                    "geometryType": "esriGeometryPoint",
                    "extent": {
                        <envelope>
                    },
                    "objectIdField": "id",
                    "displayFieldName": "<displayFieldName>",
                    "drawingInfo": {
                        "renderer": {
                            "type": "simple",
                            "label": "<label>",
                            "description": "",
                            "symbol": {
                                "height": 24,
                                "xoffset": 0,
                                "yoffset": 0,
                                "width": 24,
                                "contentType": "image/png",
                                "type": "esriPMS",
                                "imageData": "<imageData>",
                                "url": "<imageUrl>"
                            }
                        }
                    },
                    "fields": [
                        {
                            "name": "id",
                            "alias": "ID",
                            "type": "esriFieldTypeOID"
                        },
                        {
                            "name": "title",
                            "alias": "Title",
                            "type": "esriFieldTypeString"
                        },
                        {
                            "name": "summary",
                            "alias": "Summary",
                            "type": "esriFieldTypeString"
                        },
                        {
                            "name": "description",
                            "alias": "Description",
                            "type": "esriFieldTypeString"
                        },
                        {
                            "name": "tags",
                            "alias": "Tags",
                            "type": "esriFieldTypeString"
                        },
                        {
                            "name": "type",
                            "alias": "Type",
                            "type": "esriFieldTypeString"
                        },
                        {
                            "name": "thumbnail",
                            "alias": "Thumbnail",
                            "type": "esriFieldTypeString"
                        },
                        {
                            "name": "xmin",
                            "alias": "xmin",
                            "type": "esriFieldTypeDouble"
                        },
                        {
                            "name": "ymin",
                            "alias": "ymin",
                            "type": "esriFieldTypeDouble"
                        },
                        {
                            "name": "xmax",
                            "alias": "xmax",
                            "type": "esriFieldTypeDouble"
                        },
                        {
                            "name": "ymax",
                            "alias": "ymax",
                            "type": "esriFieldTypeDouble"
                        },
                        {
                            "name": "accessInformation",
                            "alias": "Access Information",
                            "type": "esriFieldTypeString"
                        },
                        {
                            "name": "licenseInfo",
                            "alias": "License Information",
                            "type": "esriFieldTypeString"
                        },
                        {
                            "name": "credits",
                            "alias": "Credits",
                            "type": "esriFieldTypeString"
                        },
                        {
                            "name": "link",
                            "alias": "Link",
                            "type": "esriFieldTypeString"
                        },
                        {
                            "name": "arcgisJslink",
                            "alias": "ArcgisJsLink",
                            "type": "esriFieldTypeString"
                        }
                    ]
                },
                "featureSet": {
                    "geometryType": "esriGeometryPoint",
                    "spatialReference": {
                        "wkid": <wkid>
                    },
                    "features": [
                        {
                            "geometry": {
                                <point>
                            },
                            "attributes": {
                                "id": 1,
                                "title": "<title>",
                                "summary": "<summary>",
                                "description": "<description>",
                                "tags": "[\"<tag1>\,\"<tag2>\"]",
                                "type": "MapServer",
                                "thumbnail": "<thumbnailUrl>",
                                "xmin": <xmin>,
                                "ymin": <ymin>,
                                "xmax": <xmax>,
                                "ymax": <ymax>,
                                "accessInformation": "<accessInformation>",
                                "licenseInfo": "<licenseInfo>",
                                "credits": "<credits>",
                                "link": "<serviceResourceLink>",
                                "arcgisJslink": "<View in JSAPI Link>"
                            }
                        }
                    ]
                },
                "popupInfo": {
                    "title": "{title} ({type})",
                    "fieldInfos": [
                        {
                            "fieldName": "id",
                            "label": "ID",
                            "visible": false
                        },
                        {
                            "fieldName": "title",
                            "label": "Title",
                            "visible": true
                        },
                        {
                            "fieldName": "summary",
                            "label": "Summary",
                            "visible": true
                        },
                        {
                            "fieldName": "description",
                            "label": "Description",
                            "visible": true
                        },
                        {
                            "fieldName": "tags",
                            "label": "Tags",
                            "visible": true
                        },
                        {
                            "fieldName": "type",
                            "label": "Type",
                            "visible": true
                        },
                        {
                            "fieldName": "thumbnail",
                            "label": "Thumbnail",
                            "visible": false
                        },
                        {
                            "fieldName": "xmin",
                            "label": "xmin",
                            "format": {
                                "places": 2,
                                "digitSeparator": false
                            },
                            "visible": false
                        },
                        {
                            "fieldName": "ymin",
                            "label": "ymin",
                            "format": {
                                "places": 2,
                                "digitSeparator": false
                            },
                            "visible": false
                        },
                        {
                            "fieldName": "xmax",
                            "label": "xmax",
                            "format": {
                                "places": 2,
                                "digitSeparator": false
                            },
                            "visible": false
                        },
                        {
                            "fieldName": "ymax",
                            "label": "ymax",
                            "format": {
                                "places": 2,
                                "digitSeparator": false
                            },
                            "visible": false
                        },
                        {
                            "fieldName": "accessInformation",
                            "label": "Access Information",
                            "visible": true
                        },
                        {
                            "fieldName": "licenseInfo",
                            "label": "License Information",
                            "visible": true
                        },
                        {
                            "fieldName": "credits",
                            "label": "Credits",
                            "visible": true
                        },
                        {
                            "fieldName": "link",
                            "label": "Link",
                            "visible": true
                        }
                    ],
                    "description": null,
                    "showAttachments": false,
                    "mediaInfos": [
                        {
                            "type": "image",
                            "caption": "Initial Extent: [{xmin}, {ymin}] - [{xmax}, {ymax}]",
                            "value": {
                                "sourceURL": "{thumbnail}",
                                "linkURL": "{arcgisJslink}"
                            }
                        }
                    ]
                }
            }
        ]
    }
}

JSON response example

{
    "featureCollection":{
        "layers":[{
                "layerDefinition":{
                    "type":"Feature Layer",
                    "geometryType":"esriGeometryPoint",
                    "extent":{"xmin":-4254455.8606807785,"ymin":-1273247.593581636,"xmax":-3967497.083911836,"ymax":-1127922.6881048125,"spatialReference":{"wkid":102100}},
                    
                    "objectIdField":"id",
                    "displayFieldName":"Maps/BrazilMapServer",
                    "drawingInfo":{
                        "renderer":{
                            "type":"simple",
                            "label":"Maps/Brazil",
                            "description":"",
                            "symbol":{
                                "height":24,
                                "xoffset":0,
                                "yoffset":0,
                                "width":24,
                                "contentType":"image/png",
                                "type":"esriPMS",
                                "imageData":"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",
                                "url":"http://sampleserver/arcgis/rest/static/images/BlueShinyPin.png"
                            }
                        }
                    },
 "fields": [
                  {
                      "name": "id",
                      "alias": "ID",
                      "type": "esriFieldTypeOID"
                  },
                  {
                      "name": "title",
                      "alias": "Title",
                      "type": "esriFieldTypeString"
                  },
                  {
                      "name": "summary",
                      "alias": "Summary",
                      "type": "esriFieldTypeString"
                  },
                  {
                      "name": "description",
                      "alias": "Description",
                      "type": "esriFieldTypeString"
                  },
                  {
                      "name": "tags",
                      "alias": "Tags",
                      "type": "esriFieldTypeString"
                  },
                  {
                      "name": "type",
                      "alias": "Type",
                      "type": "esriFieldTypeString"
                  },
                  {
                      "name": "thumbnail",
                      "alias": "Thumbnail",
                      "type": "esriFieldTypeString"
                  },
                  {
                      "name": "xmin",
                      "alias": "xmin",
                      "type": "esriFieldTypeDouble"
                  },
                  {
                      "name": "ymin",
                      "alias": "ymin",
                      "type": "esriFieldTypeDouble"
                  },
                  {
                      "name": "xmax",
                      "alias": "xmax",
                      "type": "esriFieldTypeDouble"
                  },
                  {
                      "name": "ymax",
                      "alias": "ymax",
                      "type": "esriFieldTypeDouble"
                  },
                  {
                      "name": "accessInformation",
                      "alias": "Access Information",
                      "type": "esriFieldTypeString"
                  },
                  {
                      "name": "licenseInfo",
                      "alias": "License Information",
                      "type": "esriFieldTypeString"
                  },
                  {
                      "name": "credits",
                      "alias": "Credits",
                      "type": "esriFieldTypeString"
                  },
                  {
                      "name": "link",
                      "alias": "Link",
                      "type": "esriFieldTypeString"
                  },
                  {
                      "name": "arcgisJslink",
                      "alias": "ArcgisJsLink",
                      "type": "esriFieldTypeString"
                  }                  
                ]

                },
                "featureSet":{
                    "geometryType":"esriGeometryPoint",
                    "spatialReference":{
                        "wkid":102100
                    },
                    "features":[{
                            "geometry":{
                                "x":-4110976.4722963073,
                                "y":-1200585.1408432242
                            },
                            "attributes":{
                                "id": 1,
                        "title": "Maps/Brazil",
                        "summary": "",
                        "description": "",
                        "tags": "[\"Brazil\"]",
                        "type": "MapServer",
                        "thumbnail": "http://sampleserver/arcgis/rest/services/Maps/Brazil/MapServer/info/thumbnail",
                        "xmin": -4254455.8606807785,
                        "ymin": -1273247.593581636,
                        "xmax": -3967497.083911836,
                        "ymax": -1127922.6881048125,
                        "accessInformation": "",
                        "licenseInfo": "",
                        "credits": "",
                        "link": "http://sampleserver/arcgis/rest/services/Maps/Brazil/MapServer",
                        "arcgisJslink": "http://sampleserver/arcgis/rest/services/Maps/Brazil/MapServer?f=jsapi"
                                
                            }
                        }
                    ]
                },
                "popupInfo":{
                "title": "{title} ({type})",
                "fieldInfos": [
                  {
                      "fieldName": "id",
                      "label": "ID",
                      "visible": false
                  },
                  {
                      "fieldName": "title",
                      "label": "Title",
                      "visible": true
                  },
                  {
                      "fieldName": "summary",
                      "label": "Summary",
                      "visible": true
                  },
                  {
                      "fieldName": "description",
                      "label": "Description",
                      "visible": true
                  },
                  {
                      "fieldName": "tags",
                      "label": "Tags",
                      "visible": true
                  },
                  {
                      "fieldName": "type",
                      "label": "Type",
                      "visible": true
                  },
                  {
                      "fieldName": "thumbnail",
                      "label": "Thumbnail",
                      "visible": false
                  },
                  {
                      "fieldName": "xmin",
                      "label": "xmin",
                      "format": {
                        "places": 2,
                        "digitSeparator":  false
                      },
                      "visible": false
                  },
                  {
                      "fieldName": "ymin",
                      "label": "ymin",
                      "format": {
                        "places": 2,
                        "digitSeparator":  false
                      },
                      "visible": false
                  },
                  {
                      "fieldName": "xmax",
                      "label": "xmax",
                      "format": {
                        "places": 2,
                        "digitSeparator":  false
                      },
                      "visible": false
                  },
                  {
                      "fieldName": "ymax",
                      "label": "ymax",
                      "format": {
                        "places": 2,
                        "digitSeparator":  false
                      },
                      "visible": false
                  },
                  {
                      "fieldName": "accessInformation",
                      "label": "Access Information",
                      "visible": true
                  },
                  {
                      "fieldName": "licenseInfo",
                      "label": "License Information",
                      "visible": true
                  },
                  {
                      "fieldName": "credits",
                      "label": "Credits",
                      "visible": true
                  },
                  {
                      "fieldName": "link",
                      "label": "Link",
                      "visible": true
                  }
                ],
                "description": null,
                "showAttachments": false,
                "mediaInfos": [
                  {
                    "type": "image",
                    "caption": "Initial Extent: [{xmin}, {ymin}] - [{xmax}, {ymax}]",
                    "value": {
                      "sourceURL": "{thumbnail}",
                      "linkURL": "{arcgisJslink}"
                    }
                  }
                ]
            }
            }
        ]
    }
}