Add ol.source.ImageArcGISRest (#3880)

* Add ol.source.ImageArcGISRest

ol.source.ImageArcGISRest is added so a single image can be retrieved
which is required when labelling is applied to the underlying map
service.
it's based on the approach used in ol.source.ImageWMS

* updating to remove as many good references as possible
changing so js passes lint checks

* fixing up so build and tests run

* putting back what was lost in the merge

* adding in an example
tidying up
This commit is contained in:
Anna Lambrechtsen
2016-04-20 21:19:53 +12:00
committed by Andreas Hocevar
parent 0e4692e69e
commit 18a29ea6d3
5 changed files with 595 additions and 2 deletions

View File

@@ -3094,7 +3094,6 @@ olx.interaction.SelectOptions.prototype.toggleCondition;
*/
olx.interaction.SelectOptions.prototype.multi;
/**
* Collection where the interaction will place selected features. Optional. If
* not set the interaction will create a collection. In any case the collection
@@ -3105,7 +3104,6 @@ olx.interaction.SelectOptions.prototype.multi;
*/
olx.interaction.SelectOptions.prototype.features;
/**
* A function that takes an {@link ol.Feature} and an {@link ol.layer.Layer} and
* returns `true` if the feature may be selected or `false` otherwise.
@@ -4808,6 +4806,105 @@ olx.source.OSMOptions.prototype.url;
olx.source.OSMOptions.prototype.wrapX;
/**
* @typedef {{attributions: (Array.<ol.Attribution>|undefined),
* crossOrigin: (null|string|undefined),
* logo: (string|olx.LogoOptions|undefined),
* imageLoadFunction: (ol.ImageLoadFunctionType|undefined),
* params: Object.<string,*>,
* projection: ol.proj.ProjectionLike,
* ratio: (number|undefined),
* resolutions: (Array.<number>|undefined),
* url: (string|undefined)}}
* @api
*/
olx.source.ImageArcGISRestOptions;
/**
* Attributions.
* @type {Array.<ol.Attribution>|undefined}
* @api
*/
olx.source.ImageArcGISRestOptions.prototype.attributions;
/**
* The `crossOrigin` attribute for loaded images. Note that you must provide a
* `crossOrigin` value if you are using the WebGL renderer or if you want to
* access pixel data with the Canvas renderer. See
* {@link https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image}
* for more detail.
* @type {null|string|undefined}
* @api
*/
olx.source.ImageArcGISRestOptions.prototype.crossOrigin;
/**
* Logo.
* @type {string|olx.LogoOptions|undefined}
* @api
*/
olx.source.ImageArcGISRestOptions.prototype.logo;
/**
* Optional function to load an image given a URL.
* @type {ol.ImageLoadFunctionType|undefined}
* @api
*/
olx.source.ImageArcGISRestOptions.prototype.imageLoadFunction;
/**
* ArcGIS Rest parameters. This field is optional. Service defaults will be
* used for any fields not specified. `FORMAT` is `PNG32` by default. `F` is `IMAGE` by
* default. `TRANSPARENT` is `true` by default. `BBOX, `SIZE`, `BBOXSR`,
* and `IMAGESR` will be set dynamically. Set `LAYERS` to
* override the default service layer visibility. See
* {@link http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#/Export_Map/02r3000000v7000000/}
* for further reference.
* @type {Object.<string,*>|undefined}
* @api
*/
olx.source.ImageArcGISRestOptions.prototype.params;
/**
* Projection.
* @type {ol.proj.ProjectionLike}
* @api
*/
olx.source.ImageArcGISRestOptions.prototype.projection;
/**
* Ratio. `1` means image requests are the size of the map viewport, `2` means
* twice the size of the map viewport, and so on. Default is `1.5`.
* @type {number|undefined}
* @api
*/
olx.source.ImageArcGISRestOptions.prototype.ratio;
/**
* Resolutions. If specified, requests will be made for these resolutions only.
* @type {Array.<number>|undefined}
* @api
*/
olx.source.ImageArcGISRestOptions.prototype.resolutions;
/**
* ArcGIS Rest service URL for a Map Service or Image Service. The
* url should include /MapServer or /ImageServer.
* @type {string|undefined}
* @api
*/
olx.source.ImageArcGISRestOptions.prototype.url;
/**
* @typedef {{attributions: (ol.AttributionLike|undefined),
* canvasFunction: ol.CanvasFunctionType,