ArcGIS Server Link for Google Maps Javascript API

Concepts | Examples

This library lets you add map resources accessible via ESRI ArcGIS Server™ REST API into Google Maps and provide some additional support for map tiles created with different spatial reference and tiling scheme.

All classes are available under namespace google.maputils.arcgis.*. You can replace the normal ArcGIS prefix with the namespace.
For example, the ArcGISTileLayer can also be defined as google.maputils.arcgis.TileLayer.
If you choose to load namespace only without all any global G symbols by passing file=googleapionly in script URL, the ArcGIS prefix will not be exported to global scope either. You must use namespace for all classes in this library.

.
Google Maps API related classes REST API related classes
ArcGISTileLayer
ArcGISTileLayerOptions
ArcGISMapType
ArcGISMapTypeOptions
ArcGISTileLayerOverlay
ArcGISMapOverlay
ArcGISMapOverlayOptions
ArcGISProjection
ArcGISUtil
ArcGISConfig
GMercatorProjection
GMap2
GMapType
ArcGISMapService
ArcGISLayer
ArcGISGeocodeService
ArcGISGeometryService

ArcGISSpatialReference
ArcGISSpatialReferences
ArcGISGeographic
ArcGISLambertConformalConic
ArcGISTransverseMercator
ArcGISSphereMercator
ArcGISFlatSpatialReference

There are many objects used in the REST API that do not require a constructor and can be used just as object literal in the operation:
(note the name of the type does not matter for object literals)

ArcGISField
ArcGISTileInfo
ArcGISLOD
ArcGISExportMapParameters
ArcGISMapImage
ArcGISIdentifyParameters
ArcGISIdentifyResults
ArcGISIdentifyResult

ArcGISQueryParameters
ArcGISResultSet
ArcGISFeature
ArcGISFindParameters
ArcGISFindResults
ArcGISFindResult
ArcGISGeocodeParameters
ArcGISGeocodeResults
ArcGISGeocodeResult
ArcGISReverseGeocodeParameters
ArcGISReverseGeocodeResult
ArcGISGeometry
ArcGISPoint
ArcGISPolyline
ArcGISPolygon
ArcGISEnvelope
ArcGISMultipoint

For a description and examples of how to use this library, check out the how-to.

class ArcGISConfig

This is an object literal that sets common configuration values used across the lib.

Properties

Properties Type Description
maxPolyPoints Number max number of points allowed in polyline's path or polygon's ring. If exceed, no overlay will be created.(for now) The default value is 1000.
style StyleOptions The default style used for GOverlays.

class ArcGISEnvelope

Instances of this class are used to represent an area with bounds. It is similar to GLatLngBounds but the coordinates are in map units.
There is no constructor for this class. Use javascript object literal. Example:

    {
    "xmin" : -109.55, "ymin" : 25.76, "xmax" : -86.39, "ymax" : 49.94,
    "spatialReference" : {"wkid" : 4326}
    }

Properties

Properties Type Description
spatialReference SpatialReference wkid info only.
xmax Number maximal value of x.
xmin Number minimal value of x.
ymax Number maximal value of y.
ymin Number minimal value of y.

class ArcGISExportMapParameters

This class represent the parameters needed in an exportMap operation for a ArcGISMapService. There is no constructor, use JavaScript object literal.
For more info see Export Operation.

Properties

Properties Type Description
bbox Envelope The extent (bounding box) of the exported image.
bboxSR Number The well-known ID of the spatial reference of the bbox
f String The response format. html | json | image | kmz. The default value is html.
format String The format of the exported image. png | png8 | png24 | jpg | pdf | bmp | gif | svg The default value is png.
height Number height of image, ignored if size is specified;
imageSR Number The well-known ID of the spatial reference of the exported image.
layerDefs String Allows you to filter the features of individual layers in the exported map by specifying definition expressions for those layers. Syntax: layerId1:layerDef1;layerId2:layerDef2 Example: 0:POP2000 > 1000000;5:AREA > 100000
layers String Syntax: [show | hide | include | exclude]:layerId1,layerId2
size String Syntax: <width>, <height>. You can also set width and height.
transparent Boolean If true, the image will be exported with the background color of the map set as its transparent color. note the REST API default value is false. The default value is true.
width Number width of image, ignored if size is specified;

class ArcGISFeature

This class represent one entry in the ArcGISResultSet of an query operation for a ArcGISLayer. There is no constructor, use JavaScript object literal.
For more info see Query Operation.

Properties

Properties Type Description
attributes Object attributes as name-value JSON object.
geometry Geometry geometry

class ArcGISField

This class represents a field in a ArcGISLayer. It is accessed from the fields property. There is no constructor for this class, use Object Literal.

Properties

Properties Type Description
alias String field alias.
name String field Name
type String field type (esriFieldTypeOID|esriFieldTypeString|esriFieldTypeInteger|esriFieldTypeGeometry}.

class ArcGISFindParameters

This class represent the parameters needed in an find operation for a ArcGISMapService. There is no constructor, use JavaScript object literal.
For more info see Find Operation.

Properties

Properties Type Description
contains Boolean If false, the operation searches for an exact match of the searchText string. An exact match is case sensitive. Otherwise, it searches for a value that contains the searchText provided. This search is not case sensitive. The default is true. The default value is true.
f String The response format. html | json . The default value is json.
layers String The layers to perform the find operation on. The layers to perform the find operation on. The layers are specified as a comma-separated list of layer ids. It can also be an array of layer NAMEs.
returnGeometry Boolean If true, If true, the resultset will include the geometries associated with each result. The default value is true.
searchFields String|String[] The names of the fields to search. The fields are specified as a comma-separated list of field names. If this parameter is not specified, all fields are searched. This can also be an array with field names .
searchText String The search string. This is the text that is searched across the layers and the fields that the user specifies.
sr Number The well-known ID of the spatial reference of the output geometries.

class ArcGISFindResult

This class represent one entry in the results of a find operation for a ArcGISMapService. There is no constructor, use JavaScript object literal.
For more info see Find Operation.

Properties

Properties Type Description
attributes Object attributes as name-value JSON object.
displayFieldName String displayFieldName
foundFieldName String foundFieldName
geometry Geometry ArcGISGeometry
geometryType String esriGeometryPoint | esriGeometryPolyline | esriGeometryPolygon | esriGeometryEnvelope
layerId Number layerId
layerName String layerName
value String value of the display field

class ArcGISFindResults

This class represent the results of a find operation for a ArcGISMapService. There is no constructor, use JavaScript object literal.
For more info see Find Operation.

Properties

Properties Type Description
results FindResult[] The find results as an array of ArcGISFindResult

class ArcGISFlatSpatialReference

This class (google.maputils.arcgis.FlatSpatialReference) is a special type of coordinate reference assuming lat/lng will increase evenly as if earth is flat. Approximate for small regions without implementing a real projection. This class extends ArcGISSpatialReference.

Constructor

Constructor Description
ArcGISFlatSpatialReference(params:Object) Create a flat transform spatial reference. The params passed in constructor should have the following properties:
  • wkid: wkid
  • latlng: ArcGISEnvelope in latlng unit;
  • coords: ArcGISEnvelope in coords unit
  • Methods

    Methods Return Value Description
    forward(lnglat:Number[]) Number[] See ArcGISSpatialReference
    getCircumference() Number See ArcGISSpatialReference
    reverse(coords:Number[]) Number[] See ArcGISSpatialReference

    class ArcGISGeocodeParameters

    This class represent the parameters needed in a find address candidate operation on a ArcGISGeocodeService. There is no constructor, use JavaScript object literal.
    For more info see Find Adddress Candidates Operation.

    Properties

    Properties Type Description
    f String The response format. html | json |kmz. The default value is json.
    inputs Object an object literal with name-value pair of input values.
    outFields String|String[] The list of fields to be included in the returned resultset. This list can be a comma delimited String or an array of String.

    class ArcGISGeocodeResult

    This class represent one entry in the results of a find address operation for a ArcGISGeocodeService. There is no constructor, use JavaScript object literal.
    For more info see Find Adddress Candidates Operation.

    Properties

    Properties Type Description
    address String matched address
    attributes Object attributes as name-value JSON object. e.g. {"StreetName" : "MASON", "StreetType" : "ST"}
    location Geometry matched location
    score Number matching score

    class ArcGISGeocodeResults

    This class represent the results of an find address candidate operation for a ArcGISGeocodeService. There is no constructor, use JavaScript object literal.
    For more info see Find Adddress Candidates Operation.

    Properties

    Properties Type Description
    candidates GeocodeResult[] The find address results as an array of ArcGISGeocodeResult

    class ArcGISGeocodeService

    This class (google.maputils.arcgis.GeocodeService) represent an ArcGIS GeocodeServer service.

    Constructor

    Constructor Description
    ArcGISGeocodeService(url:String) Creates an ArcGISGeocodeService class. Params:
  • url: URL of service, syntax: http://{catalog-url}/{serviceName}/GeocodeServer
  • Properties

    Properties Type Description
    addressFields Field[] input fields. Each entry is an object of type ArcGISField, plus required(true|false)
    candidateFields Field[] candidate Fields. Each entry is an object of type ArcGISField
    intersectionCandidateFields Field[] intersectionCandidateFields Each entry is an object of type ArcGISField
    locatorProperties Object an object with key-value pair that is specific to Locator type.
    serviceDescription String serviceDescription
    spatialReference ArcGISSpatialReference spatialReference wkid info only

    Methods

    Methods Return Value Description
    findAddressCandidates(params:GeocodeParameters, callback:Function) None The findAddressCandidates operation is performed on a geocode service resource. The result of this operation is a resource representing the list of address candidates. This resource provides information about candidates including the address, location, and score. param is an instance of ArcGISGeocodeParameters. An instance of ArcGISGeocodeResults will be passed into callback function.
    geocode(params:GeocodeParameters, callback:Function) None Alias of ArcGISGeocodeService.findAddressCandidates;
    hasLoaded() Boolean If this ArcGISGeocodeService meta data has loaded. useful to get the Spatial Reference information.
    reverseGeocode(params:ReverseGeocodeParameters, callback:Function) None The reverseGeocode operation is The reverseGeocode operation is performed on a geocode service resource. The result of this operation is a reverse geocoded address resource. param is an instance of ArcGISReverseGeocodeParameters. An instance of ArcGISReverseGeocodeResult will be passed into callback function.

    Events

    Events Arguments Description
    load None This event is fired when the service and it's service info is loaded.

    class ArcGISGeographic

    This class (google.maputils.arcgis.Geographic) will simply retuns same LatLng as Coordinates. The param should have wkid property. Any Geographic Coordinate Systems (eg. WGS84(4326)) can use this class As-Is.
    Note: This class does not support datum transformation. This class extends ArcGISSpatialReference.

    Constructor

    Constructor Description
    ArcGISGeographic(params:Object) Creates a ArcGISGeographic Coordinate System. e.g.:
    var g = new ArcGISGeographic({"wkid":4326});
    var g2 = new google.maputils.arcgis.Geographic({"wkid":4326});

    class ArcGISGeometry

    This is the abstract class representing JSON geometry in the ArcGIS REST API. The following types are supported: points, polylines, polygons and envelopes. for more information, see Geometry Objects.
    There is no constructor for this class. See subclasses.

    Properties

    Properties Type Description
    spatialReference SpatialReference wkid info only.

    class ArcGISGeometryService

    This class (google.maputils.arcgis.GeometryService) represent an ArcGIS Geometry service.

    Constructor

    Constructor Description
    ArcGISGeometryService(url:String) Creates an ArcGISGeometryService class. Params:
  • url: URL of service, syntax: http://[catalog-url]/{serviceName}/GeometryServer
  • Methods

    Methods Return Value Description
    project(params:ProjectParameters, callback:Function) None This resource projects an array of input geometries from an input spatial reference to an output spatial reference

    class ArcGISIdentifyParameters

    This class represent the parameters needed in an identify operation for a ArcGISMapService. There is no constructor, use JavaScript object literal.
    For more info see Identify Operation.

    Properties

    Properties Type Description
    dpi Number dpi of image, ignored if imageDisplay is specified;
    f String The response format. html | json . The default value is json.
    geometry Geometry The geometry to identify on.
    geometryType String esriGeometryPoint | esriGeometryPolyline | esriGeometryPolygon | esriGeometryEnvelope
    height Number height of image, ignored if imageDisplay is specified;
    imageDisplay String The screen image display parameters (width, height and DPI) of the map being currently viewed. You can also specifiy width, height, dip separately.
    layers String The layers to perform the identify operation on. There are three ways to do so, check REST API docs.
    mapExtent Envelope The extent or bounding box of the map currently being viewed.
    returnGeometry Boolean If true, the resultset will include the geometries associated with each result. The default value is true.
    sr Number The well-known ID of the spatial reference of the input and output geometries as well as the mapEnvelope
    tolerance Number The distance in screen pixels from the specified geometry within which the identify should be performed
    width Number width of image, ignored if imageDisplay is specified;

    class ArcGISIdentifyResult

    This class represent one entry in the results of an identify operation for a ArcGISMapService. There is no constructor, use JavaScript object literal.
    For more info see Identify Operation.

    Properties

    Properties Type Description
    attributes Object attributes as name-value JSON object.
    displayFieldName String displayFieldName
    geometry Geometry ArcGISGeometry
    geometryType String esriGeometryPoint | esriGeometryPolyline | esriGeometryPolygon | esriGeometryEnvelope
    layerId Number layerId
    layerName String layerName
    value String value of the display field

    class ArcGISIdentifyResults

    This class represent the results of an identify operation for a ArcGISMapService. There is no constructor, use JavaScript object literal.
    For more info see Identify Operation.

    Properties

    Properties Type Description
    results IdentifyResult[] The identify results as an array of ArcGISIdentifyResult

    class ArcGISLambertConformalConic

    This class (google.maputils.arcgis.LambertConformalConic) represents a Spatial Reference System based on Lambert Conformal Conic Projection. This class extends ArcGISSpatialReference.

    Constructor

    Constructor Description
    ArcGISLambertConformalConic(params:Object) Create a Lambert Conformal Conic Projection based Spatial Reference. The params passed in construction should include the following properties:
    -wkid: well-known id
    -semi_major: ellipsoidal semi-major axis in meter
    -unit: meters per unit
    -inverse_flattening: inverse of flattening of the ellipsoid where 1/f = a/(a - b)
    -standard_parallel_1: phi1, latitude of the first standard parallel
    -standard_parallel_2: phi2, latitude of the second standard parallel
    -latitude_of_origin: phiF, latitude of the false origin
    -central_meridian: lamdaF, longitude of the false origin (with respect to the prime meridian)
    -false_easting: FE, false easting, the Eastings value assigned to the natural origin
    -false_northing: FN, false northing, the Northings value assigned to the natural origin

    e.g. North Carolina State Plane NAD83 Feet:
    var ncsp82 = new ArcGISLambertConformalConic({wkid:2264, semi_major: 6378137.0,inverse_flattening: 298.257222101, standard_parallel_1: 34.33333333333334, standard_parallel_2: 36.16666666666666, central_meridian: -79.0, latitude_of_origin: 33.75,'false_easting': 2000000.002616666, 'false_northing': 0, unit: 0.3048006096012192 });

    Methods

    Methods Return Value Description
    forward(lnglat:Number[]) Number[] see ArcGISSpatialReference
    getCircumference() Number see ArcGISSpatialReference
    reverse(coords:Number[]) Number[] see ArcGISSpatialReference

    class ArcGISLayer

    This class (google.maputils.arcgis.Layer) represents a Map layer inside an ArcGISMapService. It carries information about a layer's name, id and other information such as scales etc. Due to the way REST API is implemented, each layers extra meta data must retrieved individually. However, most operations do not require those extra info and can be used directly.

    Constructor

    Constructor Description
    ArcGISLayer(url:String) Create a ArcGIS map Layer using it's url ( http://[mapservice-url]/[layerId])

    Properties

    Properties Type Description
    copyrightText String copyrightText, only available after load.
    defaultVisibility Boolean defaultVisibility
    definition String Layer definition.
    displayField String displayField, only available after load.
    extent Envelope extent, only available after load.
    fields Field[] fields, only available after load. See ArcGISField
    geometryType String geometryType type(esriGeometryPoint|..), only available after load.
    id Number layer ID
    maxScale Number maxScale, only available after load.
    minScale Number minScale, only available after load.
    name String layer Name
    parentLayer Layer parent Layer ArcGISLayer
    parentLayerId Number parent LayerId
    subLayerIds Number[] sub LayerIds. null if no sub layers
    subLayers Layer[] sub Layers. ArcGISLayer[].
    type String layer type(Feature Layer|), only available after load.
    visibility Boolean Visibility of this layer

    Methods

    Methods Return Value Description
    getFieldNames() String[] Returns all field names
    hasLoaded() Boolean If the extra layer info is loaded
    isInScale(scale:Number) Boolean Whether the layer is viewable at given scale
    loadInfo(opt_callback:Function) None Load extra information such as it's fields from layer resource. If opt_callback function will be called after it is loaded
    query(params:QueryParameters, callback:Function) None The query operation is performed on a layer resource. The result of this operation is a resultset resource that will be passed in the callback function. param is an instance of ArcGISQueryParameters
    For more info see Query Operation.

    Events

    Events Arguments Description
    load None This event is fired when the layer and it's extra info is loaded.

    class ArcGISLOD

    This class contains information about one "Level Of Detail" for a cached map service. It is the type of ArcGISlods property of ArcGISTileInfo
    There is no constructor for this class. Use as object literal.

    Properties

    Properties Type Description
    level Number zoom level.
    resolution Number map unit per pixel
    scale Number actual map scale. e.g a value of 5000 means 1:5000 scale.

    class ArcGISMapImage

    This is the result of ArcGISMapService.exportMap operation. There is no constructor, use as JavaScript object literal.

    Properties

    Properties Type Description
    extent Envelope The ArcGISEnvelope (bounding box) of the exported image.
    height Number height of the exported image.
    href String URL of image
    scale Number scale of the exported image.
    width Number width of the exported image.

    class ArcGISMapOverlay

    This class (google.maputils.arcgis.MapOverlay) extends the Google Maps API's GOverlay that draws map images from data source on the fly. It is also known as "Dynamic Maps". It can be added to the map via GMap2.addOverlay method. The similar class in the core GMap API is GGroundOverlay, however, the instance of this class always cover the viewport exactly, and will redraw itself as map moves.

    Constructor

    Constructor Description
    ArcGISMapOverlay(service:String|ArcGISMapService, opt_overlayOpts:MapOverlayOptions) Creates an Map Overlay using url of the map service and optional ArcGISMapOverlayOptions.
  • service (required) is url of the underline ArcGISMapService or the ArcGISMapService itself.
  • opt_overlayOpts (optional) is an instance of ArcGISMapOverlayOptions.
  • Methods

    Methods Return Value Description
    getCopyright(bounds:GLatLngBounds, zoom:Number) String Get the copyright information for the underline ArcGISMapService.
    getFullBounds() GLatLngBounds Get full bounds of the to the underline ArcGISMapService
    getInitialBounds() GLatLngBounds Get initial bounds of the to the underline ArcGISMapService
    getMapService() MapSerive Gain access to the underline ArcGISMapService
    getName() String Get name of the underline ArcGISMapService
    getOpacity() Number Gets Image Opacity. return opacity between 0-1.
    hasLoaded() Boolean If the layer is loaded. Returns true if it's map service is loaded.
    hide() None Hide the overlay
    isHidden() Boolean Check if the overlay is visible, and within zoomzoom range and current map bounds intersects with it's fullbounds.
    refresh() None Refresh the map image in current view port.
    setOpacity(opacity:Number) None Sets Image Opacity. parameter opacity between 0-1.
    show() None Makes the overlay visible.

    Events

    Events Arguments Description
    drawend mapImage:MapImage This event is fired after the the drawing request was returned by server.
    drawstart None This event is fired before the the drawing request was sent to server.
    load overlay:ArcGISMapOverlay This event is fired when the layer's service is loaded. Passing ArcGISMapOverlay as argument

    class ArcGISMapOverlayOptions

    Instance of this class are used in the ArcGISopt_ovelayOpts argument to the constructor of the ArcGISMapOverlay class. There is no constructor for this class. Instead, this class is instantiated as a javascript object literal.

    Properties

    Properties Type Description
    exportParams ExportMapParameters See ArcGISExportMapParameters
    maxResolution Number max zoom level.
    minResolution Number min zoom level.
    name String name assigned to this ArcGISMapOverlay
    opacity Number Opacity of map image from 0.0 (invisible) to 1.0 (opaque) The default value is 1.0.

    class ArcGISMapService

    This class (google.maputils.arcgis.MapService) is the core class for all map service operations. It represents an ArcGIS Server map service and serve as the underline resource represented by ArcGISTileLayer and ArcGISMapOverlay. It is constructed asynchronously so it should be used after it is loaded, either by handle its "load" event, or used in a callback function passed in the constructor.
    For more info see Map Service

    Constructor

    Constructor Description
    ArcGISMapService(url:String, opt_service:ArcGISMapServiceOptions) Creates a ArcGISMapService objects that can be used by UI components.
    • url (required) is the URL of the map servive, e.g. http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer.
    • opt_service optional parameter of type ArcGISMapServiceOptions
        Note the spatial reference of the map service must already exists in the ArcGISSpatialReferences if actual coordinates transformation is needed.

    Properties

    Properties Type Description
    copyrightText String copyrightText
    description String description
    documentInfo Object Object with the folloing properties: Title, Author,Comments,Subject,Category,Keywords
    fullExtent Envelope fullExtent, see ArcGISEnvelope
    initialExtent Envelope initialExtent, see ArcGISEnvelope
    mapName String map frame Name inside the map document
    name String map service Name, taken as part of URL.
    serviceDescription String serviceDescription
    singleFusedMapCache Boolean if map cache is singleFused
    tileInfo TileInfo See ArcGISTileInfo
    units String unit
    url String map service URL

    Methods

    Methods Return Value Description
    exportMap(params:ExportMapOptions, callback:Function) None Export an image with given parameters. For more info see Export Operation.
    The params is an instance of ArcGISExportMapParameters. The following properties will be set automatically if not specified:...
    The callback is the callback function with argument of an instance of ArcGISMapImage.
    find(params:FindParameters, callback:Function) None Find features using the ArcGISFindParameters and process ArcGISFindResults using the callback function. For more info see Find Operation.
    generateKML(params:GenerateKMLParameters) String To be implemented Generate ArcGISGenerateKMLParameters and a link to the KML file For more info see Generate KML Operation.
    getLayer(nameOrId:String|Number) Layer Get a map layer by it's name(String) or id (Number), return ArcGISLayer.
    getLayerIds(names:String|String[]) Number|Number[] Get layer id or array of ids from a layer name or array of names.
    getLayers() Layer[] Get the Array of ArcGISLayer[] for this map service
    getSpatialReference() ArcGISSpatialReference Get the Spatial Reference of this map service that can convert between LatLng and Coordinates Note, if the actual spatial reference is not aleady added via ArcGISSpatialReferences, it will return an object literal with wkid info only.
    hasLoaded() Boolean If this map service has finished loading from server.
    identify(params:IdentifyParameters, callback:Function) None Identify features on a particular ArcGISGeographic location, using ArcGISIdenitfyParameters and process ArcGISIdentifyResults using the callback function. For more info see Identify Operation.
    queryLayer(layerNameOrId:Number|String, params:QueryParameters, callback:Function) None Query a layer with given id or name using the ArcGISQueryParameters and process ArcGISResultSet using the callback function. See ArcGISLayer. For more info see Query Layer Operation.

    Events

    Events Arguments Description
    load service:ArcGISMapService This event is fired when the service and it's service info is loaded.

    class ArcGISMapServiceOptions

    This class is the optional parameter passed in the constructor of ArcGISMapService.
    There is no constructor for this class. Use as object literal. There is no constructor for this class. Instead, this class is instantiated as a javascript object literal.

    Properties

    Properties Type Description
    name String name of the service. Default to the name published.

    class ArcGISMapType

    This class (google.maputils.arcgis.MapType) extends the Google Maps API's GMapType. It holds a list of ArcGISTileLayers.

    Because all tileLayers are loaded asynchronously, and currently the core API does not have method to refresh tiles on demand, if you do not load the default Google maps, you should either 1) add to map after it "load" event is fired, or) trigger an map type change to force refresh. See Issue 279

    Note: all tiled layer in the same map type must use same spatial reference and tile scheme.

    Constructor

    Constructor Description
    ArcGISMapType(tileLayers:String|ArcGISTileLayer[], opt_typeOpts:MapTypeOptions) Creates a MapType, with the following parameters:
  • tileLayers: a array of ArcGISTileLayers, or a single URL as shortcut.
  • opt_typeOpts: optional. An instance of ArcGISMapTypeOptions
  • Events

    Events Arguments Description
    load mapType:ArcGISMapType This event is fired when all layer's services are loaded. Passing ArcGISMapType as argument

    class ArcGISMapTypeOptions

    Instance of this class are used in the ArcGISopt_typeOpts argument to the constructor of the ArcGISMapType class. In addition to the properties listed below, it can also contain properties from GMapTypeOptions except the tileSize property, in which case it will be overwritten by the first ArcGISTileLayer's ArcGISProjection. There is no constructor for this class. Instead, this class is instantiated as a javascript object literal.

    Properties

    Properties Type Description
    name String map type name
    projection ArcGISProjection an instance of ArcGISProjection. If this option is specified, you do not have to wait the 'load' event to use the MapType.

    class ArcGISMultipoint

    A multipoint contains an array of points and a spatialReference.
    There is no constructor for this class. Use javascript object literal. Example:

        {
        "points" : [ [-97.06138,32.837], [-97.06133,32.836], [-97.06124,32.834], 
        [-97.06127,32.832] ],
        "spatialReference" : {"wkid" : 4326}
        }
    

    Properties

    Properties Type Description
    points Number[][] coords of the Multipoint.
    spatialReference SpatialReference wkid info only.

    class ArcGISPoint

    A point contains x and y fields along with a spatialReference field.
    There is no constructor for this class. Use javascript object literal. Example:

        {
        "x" : -118.15, "y" : 33.80, "spatialReference" : {"wkid" : 4326}
        }
    

    Properties

    Properties Type Description
    spatialReference SpatialReference wkid info only.
    x Number value of x.
    y Number value of y.

    class ArcGISPolygon

    A polygon contains an array of rings and a spatialReference.
    There is no constructor for this class. Use javascript object literal. Example:

        {
        "rings" : [ 
        [ [-97.06138,32.837], [-97.06133,32.836], [-97.06124,32.834], 
        [-97.06127,32.832], [-97.06138,32.837] ], 
        [ [-97.06326,32.759], [-97.06298,32.755], [-97.06153,32.749], 
        [-97.06326,32.759] ]
        ],
        "spatialReference" : {"wkid" : 4326}
        }
    

    Properties

    Properties Type Description
    rings Number[][][] coords of the Polygon.
    spatialReference SpatialReference wkid info only.

    class ArcGISPolyline

    A polyline contains an array of paths and a spatialReference.
    There is no constructor for this class. Use javascript object literal. Example:

        {
        "paths" : [ 
        [ [-97.06138,32.837], [-97.06133,32.836], [-97.06124,32.834] ], 
        [ [-97.06326,32.759], [-97.06298,32.755] ]
        ],
        "spatialReference" : {"wkid" : 4326}
        }
    

    Properties

    Properties Type Description
    paths Number[][][] coords of the polyline.
    spatialReference SpatialReference wkid info only.

    class ArcGISProjection

    This class (google.maputils.arcgis.Projection) implements a custom GProjection from the core Google Maps API. It carries a real ArcGISSpatialReference object to convert LatLng from/to map coordinates, and tiling scheme informations to convert map coordinates from/to pixel coordinates. The tiles must be square, with same width and height.

    Constructor

    Constructor Description
    ArcGISProjection(tileInfo:TileInfo, fullExtent:Envelope) Creates an ArcGIS Map Tiling Reference System. Applications normally do not create instances of this class directly. If needed, it can be accessed by GMap2.getCurrentMapType().getProjection() for customized GMapTypes.

    Methods

    Methods Return Value Description
    fromLatLngToPixel(gLatLng:GLatLng, zoom:Number) GPoint See GProjection.
    fromPixelToLatLng(pixel:GPoint, zoom:Number, unbound:Boolean) GLatLng See GProjection.
    getScale(zoom:Number) Number Get the scale at given level;
    getSpatialReference() ArcGISSpatialReference Get the underline ArcGISSpatialReference
    getTileSize() Number Get the tile size used by this Projection. Shortcut to tileInfo.rows;
    getUnitsPerPixel(zoom:Number) Get resolution (Units per Pixel) at given zoom level.
    getWrapWidth(zoom:Number) Number See GProjection.
    maxResolution() Number Get max zoom level of actual tiles
    minResolution() Number Get min zoom level of actual tiles
    tileCheckRange(tile:Object, zoom:Number, tilesize:Number) None See GProjection.

    class ArcGISProjectParameters

    This class represent the parameters needed in an project operation for a ArcGISGeometryService. There is no constructor, use JavaScript object literal.
    For more info see Project Operation.

    Properties

    Properties Type Description
    f String The response format. html | json . The default value is json.
    geometries Geometry[] Array of ArcGISGeometry to project. In the case of points, the following syntax also works: geometries = x1, y1, x2, y2, ..., xn, yn
    geometryType String esriGeometryPoint | esriGeometryPolyline | esriGeometryPolygon | esriGeometryEnvelope
    inSR Number The well-known ID of the spatial reference of the input geometries
    outSR Number The well-known ID of the spatial reference of the out geometries

    class ArcGISQueryParameters

    This class represent the parameters needed in an query operation for a ArcGISLayer. There is no constructor, use JavaScript object literal.
    For more info see Query Operation.

    Properties

    Properties Type Description
    f String The response format. html | json | kmz . The default value is json.
    geometry Geometry The geometry to apply as the spatial filter.
    geometryType String esriGeometryPoint | esriGeometryMultipoint | esriGeometryPolygon | esriGeometryPolyline
    inSR Number The well-known ID of the spatial reference of the input geometries
    outFields String|String[] The list of fields to be included in the returned resultset.
    outSR Number The well-known ID of the spatial reference of the out geometries
    returnGeometry Boolean If true, If true, the resultset will include the geometries associated with each result. The default value is true.
    spatialRel String The spatial relationship to be applied on the input geometry while performing the query. The supported spatial relationships include intersects, contains, envelope intersects, within, etc. The default spatial relationship is intersects (esriSpatialRelIntersects). esriSpatialRelIntersects | esriSpatialRelContains | esriSpatialRelCrosses | esriSpatialRelEnvelopeIntersects | esriSpatialRelIndexIntersects | esriSpatialRelOverlaps | esriSpatialRelTouches | esriSpatialRelWithin
    text String A literal search text. If the layer has a display field associated with it, the server searches for this text in this field. This parameter is a short hand for a where clause of: where [displayField]like '%[text]%'. The text is case sensitive. This parameter is ignored if the where parameter is specified.
    where String A where clause for the query filter. Any legal SQL where clause operating on the fields in the layer is allowed.

    class ArcGISResultSet

    This class represent the results of an query operation for a ArcGISLayer. There is no constructor, use JavaScript object literal.
    For more info see Query Operation.

    Properties

    Properties Type Description
    displayFieldName String display Field Name for layer
    features Features[] result as array of ArcGISFeature
    fieldAliases Object Field Name's Aliases. key is field name, value is alias.
    geometryType String esriGeometryPoint | esriGeometryMultipoint | esriGeometryPolygon | esriGeometryPolyline
    spatialReference Object spatial Reference wkid info only

    class ArcGISReverseGeocodeParameters

    This class represent the parameters needed in a reverseGeocode operation on a ArcGISGeocodeService. There is no constructor, use JavaScript object literal.
    For more info see Reverse Geocode Operation.

    Properties

    Properties Type Description
    distance Number The distance in meters from the given location within which a matching address should be searched.
    f String The response format. html | json |kmz. The default value is json.
    location Geometry|String an object literal of type ArcGISPoint. You can also use x,y string.

    class ArcGISReverseGeocodeResult

    This class represent one entry in the results of a find address operation for a ArcGISGeocodeService. There is no constructor, use JavaScript object literal.
    For more info see Reverse Geocode Operation.

    Properties

    Properties Type Description
    address Object matched address, object literal with name-value address parts. e.g.: { "Street" : "771 TUNNEL AVE", "Zone" : "94005" }
    location Geometry matched location

    class ArcGISSpatialReference

    This class (google.maputils.arcgis.SpatialReference) is for coordinate systems that converts value between geographic and real-world coordinates. The following classes extend this class: ArcGISGeographic, ArcGISSphereMercator, ArcGISLambertConformalConic, and ArcGISTransverseMercator.

    Constructor

    Constructor Description
    ArcGISSpatialReference(params:Object) Create A Generic Spatial Reference Object The params passed in constructor is a javascript object literal and depends on the type of Coordinate System to construct.

    Properties

    Properties Type Description
    wkid Number well-known coodinate system id (EPSG code)

    Methods

    Methods Return Value Description
    forward(lnglat:Number[]) Number[] Convert Lat Lng to real-world coordinates. Note both input and output are array of [x,y], although their values in different units.
    getCircumference() Number Get the map the periodicity in x-direction, in map units NOT pixels
    reverse(coords:Number[]) Number[] Convert real-world coordinates to Lat Lng. Note both input and output are are array of [x,y], although their values are different.
    transform(extent:Envelope) Envelope Transform an extent to this Spatial Reference and return a new instance of ArcGISEnvelope if the spatial references are different.

    class ArcGISSpatialReferences

    ArcGISSpatialReferences has an internal collection of Spatial Refeneces supported in the application. The key of the collection is the wkid, and value is an instance of ArcGISSpatialReference. The ArcGISTileLayer's Spatial Refeneces must be already added to collection before it's constructor can be called. The following ArcGISSpatialReference are added by default:
    4326: WGS84 ArcGISGeographic Coordinate System;
    102113: Web-Mercator used by Google Maps, Virtual Earth etc.

    The application can add a supported spatial references using static method ArcGISSpatialReferences.addSpatialReference(wkid,sr);

    Static Methods

    Static Methods Return Value Description
    addSpatialReference(wkid:Number, wktOrSR:Object) None Add A Spatial Reference to the collection of Spatial References. the ArcGISwktOrSR parameter can be String format of "well-known text" of the Spatial Reference, or an instance of ArcGISSpatialReference.
  • If passes in String WKT format, to be consistent, it should use the same format as listed in ESRI documentation. For example, add NC State Plane NAD83 as String:
    ArcGISSpatialReferences.addSpatialReference('2264','PROJCS["NAD_1983_StatePlane_North_Carolina_FIPS_3200_Feet", GEOGCS["GCS_North_American_1983", DATUM["D_North_American_1983", SPHEROID["GRS_1980",6378137.0,298.257222101]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]], PROJECTION["Lambert_Conformal_Conic"], PARAMETER["False_Easting",2000000.002616666], PARAMETER["False_Northing",0.0], PARAMETER["Central_Meridian",-79.0], PARAMETER["Standard_Parallel_1",34.33333333333334], PARAMETER["Standard_Parallel_2",36.16666666666666], PARAMETER["Latitude_Of_Origin",33.75], UNIT["Foot_US",0.3048006096012192]]');
    Note: only Lambert Conformal Conic and Transverse Mercator Projection based Spatial References are supported if added via WKT String.
  • If passes in an instance of ArcGISSpatialReference, it can be one of the built in classes, or a class that extends ArcGISSpatialReference. For example, add NC State Plane NAD83 as SR:
    ArcGISSpatialReferences.addSpatialReference('2264': new ArcGISLambertConformalConic({ wkid: 2264, semi_major: 6378137.0, inverse_flattening: 298.257222101, standard_parallel_1: 34.33333333333334, standard_parallel_2: 36.16666666666666, central_meridian: -79.0, latitude_of_origin: 33.75, 'false_easting': 2000000.002616666, 'false_northing': 0, unit: 0.3048006096012192 });
  • getSpatialReference(wkid:Number) ArcGISSpatialReference Gets the ArcGISSpatialReference from the internal colection by well-known id. Returns undefined if not added.

    class ArcGISSphereMercator

    This class (google.maputils.arcgis.SphereMercator) is the Projection Default Google Maps uses. It is a special form of Mercator. This class extends ArcGISSpatialReference.

    Constructor

    Constructor Description
    ArcGISSphereMercator(params:Object) Creates a Spatial Reference based on Sphere Mercator Projection. The params passed in constructor should have the following properties:
    -wkid: wkid
    -semi_major: ellipsoidal semi-major axis
    -unit: meters per unit
    -central_meridian: lamdaF, longitude of the false origin (with respect to the prime meridian)

    e.g. The "Web Mercator" used in ArcGIS Server:
    var web_mercator = new ArcGISSphereMercator({wkid: 102113, semi_major:6378137.0, central_meridian:0, unit: 1 });

    Methods

    Methods Return Value Description
    forward(lnglat:Number[]) Number[] See ArcGISSpatialReference
    getCircumference() Number See ArcGISSpatialReference
    reverse(coords:Number[]) Number[] See ArcGISSpatialReference

    class ArcGISStyleOptions

    Instance of this classes are used in the style property of ArcGISArcGISClickOptions, ArcGISArcGISClickServiceOptions. It specify how the geometry features returned by ArcGIS server should be rendered in the browser. It's properties have same meaning as GPolyStyleOptions in the core Google Maps API. There is no constructor for this class. Instead, this class is instantiated as a javascript object literal.

    Properties

    Properties Type Description
    fillColor String color of polygon fill.
    fillOpacity Number opacity of the polygon fill.
    icon GIcon an instance of GIcon in the core Google Maps API. This will be used as the icon for rendering of point features.
    outlineColor String color of polygon outline.
    outlineOpacity Number opacity of polygon outline
    outlineWeight Number weight of polygon outline
    strokeColor String line features color in hex HTML color.
    strokeOpacity Number This property specifies the opacity of the polyline as a fractional value between 0 (transparent) and 1 (opaque)
    strokeWeight Number The width of the line in pixels

    class ArcGISTileInfo

    This class contains information about map tile infornation for a cached map service. It is the type of ArcGIStileInfo property of ArcGISArcGISTileReference
    There is no constructor for this class.

    Properties

    Properties Type Description
    cols Number tile cols size, e.g. 512, must be same as rows
    compressionQuality Number JPEG only.0-100.
    dpi Number dot per inch for map tiles.
    format String PNG8 | PNG24 | PNG32 | GIF | JPEG
    lods LOD[] Array of Level of Details. See ArcGISLOD
    origin Point origin of tile system of type ArcGISPoint
    rows Number tile row size, e.g. 512, must be same as cols
    spatialReference ArcGISSpatialReference spatial reference. wkid info only.

    class ArcGISTileLayer

    This class (google.maputils.arcgis.TileLayer) extends GTileLayer from the core Google Maps API and provides access to a cached ArcGIS Server map service.
    This class can be used in ArcGISMapType or ArcGISTileLayerOverlay.

    Constructor

    Constructor Description
    ArcGISTileLayer(service:String|ArcGISMapService, opt_layerOpts:TileLayerOptions) Creates a tile layer from a cached by ArcGIS map service.
    service (required) is the url of the underline ArcGISMapService, or the map service itself.
    opt_layerOpts (optional) is an instance of ArcGISTileLayerOptions.

    Methods

    Methods Return Value Description
    getFullBounds() GLatLngBounds Get full bounds of the to the underline ArcGISMapService
    getInitialBounds() GLatLngBounds Get initial bounds of the to the underline ArcGISMapService
    getMapService() MapSerive Gain access to the underline ArcGISMapService
    getName() String Get the tile layer's name (underline maps service's name)
    getProjection() ArcGISProjection Returns the ArcGISProjection, a subclass of GProjection used by this ArcGISTileLayer.
    hasLoaded() Boolean If the tile layer is loaded. Returns true if it's map service is loaded.

    Events

    Events Arguments Description
    load layer:ArcGISTileLayer This event is fired when the layer's service is loaded. Passing ArcGISTileLayer as argument

    class ArcGISTileLayerOptions

    Instances of this class are used in the ArcGISopt_layerOpts argument to the constructor of the ArcGISTileLayer class. In addition to the properties listed below, it can also have properties available in GTileLayerOptions such as opacity,isPng,draggingCursor etc. Note: tileUrlTemplate is ignored. There is no constructor for this class. Instead, this class is instantiated as a javascript object literal.

    Properties

    Properties Type Description
    copyrights GCopyrights copyrights. If not specified, will be calculated from map service.
    hosts String host pattern of tile servers if they are numbered. Most browser has default restrictions on how many concurrent connections can be made to a single host. One technique to workaround this is to create multiple hosts and rotate them when loading tiles. The syntax is prefix[numberOfHosts]suffix, for example, "mt[4].google.com" means rotate hosts in mt0.google.com, mt1.google.com, mt2.google.com, mt3.google.com (4 hosts).
    maxResolution Number maximal zoom level. If not specified, will be calculated from map service.
    minResolution Number minimal zoom level. If not specified, will be calculated from map service.
    name String optional. The name assigned to this layer (it's underline service). This name can be used to identify this tile layer.
    projection ArcGISProjection an instance of ArcGISProjection. If this option is specified, you do not have to wait the 'load' event to use the ArcGISTileLayer.

    class ArcGISTileLayerOverlay

    This class (google.maputils.arcgis.TileLayerOverlay) extends GTileLayerOverlay from the core Google Maps API. It tracks ArcGISTileLayerOverlay collections in GMap2 internally and make them available via GMap2.getArcGISOverlays()

    Constructor

    Constructor Description
    ArcGISTileLayerOverlay(tileLayer:ArcGISTileLayer|String, opt_tileOverlayOpts:GTileLayerOverlayOptions) Creates an ArcGISTileLayerOverlay. Params:
  • tileLayer: ArcGISTileLayer or url to the service as shortcut.
  • opt_tileOverlayOpts: ArcGISGTileLayerOverlayOptions
  • Methods

    Methods Return Value Description
    getName() None Get the name the Overlay (same as map service name)

    Events

    Events Arguments Description
    load None This event is fired when the undeline tilelayer's services are loaded.

    class ArcGISTransverseMercator

    This class (google.maputils.arcgis.TransverseMercator) represents a Spatial Reference System based on Transverse Mercator Projection This class extends ArcGISSpatialReference.

    Constructor

    Constructor Description
    ArcGISTransverseMercator(params:Object) Create a Transverse Mercator Projection. The params passed in constructor should contain the following properties:

    -wkid: well-known id
    -semi_major: ellipsoidal semi-major axis in meters
    -unit: meters per unit
    -inverse_flattening: inverse of flattening of the ellipsoid where 1/f = a/(a - b)
    -Scale Factor: scale factor at origin
    -latitude_of_origin: phiF, latitude of the false origin
    -central_meridian: lamdaF, longitude of the false origin (with respect to the prime meridian)
    -false_easting: FE, false easting, the Eastings value assigned to the natural origin
    -false_northing: FN, false northing, the Northings value assigned to the natural origin

    e.g. Georgia West State Plane NAD83 Feet:
    var gawsp83 = new ArcGISTransverseMercator({wkid: 102667, semi_major:6378137.0, inverse_flattening:298.257222101,central_meridian:-84.16666666666667, latitude_of_origin: 30.0, scale_factor:0.9999,'false_easting':2296583.333333333, 'false_northing':0, unit: 0.3048006096012192});

    Methods

    Methods Return Value Description
    forward(lnglat:Number[]) Number[] see ArcGISSpatialReference
    getCircumference() Number see ArcGISSpatialReference
    reverse(coords:Number[]) Number[] see ArcGISSpatialReference

    namespace ArcGISUtil

    A list of utilities ((google.maputils.arcgis.Util) for commonly used functions.

    Static Methods

    Static Methods Return Value Description
    createCircle(center:Point, radius:Number, num:Number) None Create a circle using a given center and radius, and number of points. All in map units.
    fromEnvelopeToLatLngBounds(extent:Envelope) GLatLngBounds Helper method to convert an ArcGISEnvelope object to GLatLngBounds
    fromFeatureToOverlays(feature:Feature, opt_sr:ArcGISSpatialReference, opt_agsStyle:StyleOptions, opt_displayName:String) GOverlay[] Convert a ArcGISFeature or ArcGISIdentifyResult or ArcGISFindResult to core Google Maps API overlays such as ArcGISGMarker, ArcGISGPolyline, or ArcGISGPolygons. Note ArcGIS Geometry may have multiple parts, but the coresponding GOverlay does not support multi-parts, so the result is an array.
    • feature: an object returned by ArcGIS Server with at least geometry property of type ArcGISGeometry. if it contains a name-value pair "attributes" property, it will be attached to the result overlays.
    • opt_sr: optional ArcGISSpatialReference. Can be object literal.
    • opt_agsStyle ArcGISStyleOptions. default is ArcGISConfig.style.
    • opt_displayName optional field name used for title of feature.
    fromGeometryToJSON(geoms:Geometry, opt_includeSR:Boolean) String convert Geometry to JSON String, optionally include ArcGISSpatialReference info.
    fromLatLngBoundsToEnvelope(gLatLngBounds:GLatLngBounds, spatialReference:ArcGISSpatialReference) Envelope Helper method to convert GLatLngBounds to an ArcGISEnvelope object with the given ArcGISSpatialReference
    fromLatLngToPoint(gLatLng:GLatLng, opt_sr:ArcGISSpatialReference) Point Helper method to convert GLatLngBounds to a ArcGISPoint object with the given ArcGISSpatialReference. If SR not specified, it will be converted to WGS84.
    fromPointToLatLng(point:Point, opt_sr:ArcGISSpatialReference) GLatLng Helper method to convert an ArcGISPoint object to GLatLng . opt_sr is required if the point itself does not carry SR info, such as the case of geocode or query result.
    getJSON(url:String, params:Object, callbackName:String, callbackFn:Function) String Make Cross Domain Calls. This function returns the script ID which can be used to track the requests. parameters:
    • url: url of server resource
    • params: an object with name,value pairs. value must be string
    • callbackName: Callback parameter name the server is expecting.e.g:'callback'
    • callbackFn: the actual callback function.
    groupResultsByLayer(results:IdentifyResults|FindResults) Object Some operations such as identify and find are operated against multiple layers. The results are in a flat list. This method will group the result by layer and return an object with key as layer name, value as a ArcGISResultSet.

    Events

    Events Arguments Description
    jsonpend scriptID:String This event is fired after a REST JSONP response was returned by server.
    jsonpstart scriptID:String This event is fired before a REST request sent to server.

    class GMap2

    This is new method added to Google Maps API's GMap2 class.

    Methods

    Methods Return Value Description
    addArcGISMap(url:String, opt_callback:Function) None This is a convienient method to add an ArcGIS map. Params:
    • url: url of the map service.
    • opt_callback: optional callback function. The result is passed in as argument.
    Results:
    • If the map service is tiled, a new ArcGISMapType will be created and added.
    • If the map service is not tiled, a new ArcGISMapOverlay will be created and added.
    addOverlays(ovs:GOverlay[]..) None Convenient method to add array of GOverlays
    arcgisClickEnabled() Boolean If identify operation onclick map is enabled.
    disableArcGISClick() None Disable click identify capability
    enableArcGISClick() None Enable the Map Click operation for ArcGIS maps. The inforamtion about the map feature will be displayed in a InfoWindow after a single click on the map. The optional parameter opt_clickOpts is an instance of ArcGISArcGISClickOptions
    getArcGISOverlays() GOverlay[] Get an array of the ArcGISGOverlays. The entry in the array can be instance of ArcGISMapOverlay (dynamic maps) or ArcGISTileLayerOverlay.
    getSpatialReference() ArcGISSpatialReference Shortcut method to get the current map type's spatial reference
    removeOverlays(ovs:GOverlay[]..) None Convenient method to remove array of GOverlays
    setBounds(bnds:GLatLngBounds) None Sets the map view to the given bounds .

    class GMapType

    This an overwritten method of Google Maps API's GMapType class.

    Methods

    Methods Return Value Description
    getCopyrights(bounds:GLatLngBounds, zoom:Number) String[] overwrite default to allow dynamic overlay's copyrights. Get an array of copyrights string along with all ArcGISMapOverlay's value;

    class GMercatorProjection

    This is new method added to Google Maps API's GMercatorProjection class.

    Methods

    Methods Return Value Description
    getSpatialReference() ArcGISSpatialReference Get the Spatial Reference used by GMercatorProjection.It's wkid = 102113, an instance of ArcGISSphereMercator.