Update API to work with custom transforms, including proj4js

All transparent proj4js handling is now in ol.proj.get, and a new
addCoordinateTransforms function makes it easy to configure custom
transform functions. ol.Proj4jsProjection is no longer needed.
This commit is contained in:
Andreas Hocevar
2014-07-08 01:08:00 +02:00
parent dc09b0a27f
commit 8b89f5b689
2 changed files with 150 additions and 232 deletions

View File

@@ -275,34 +275,28 @@ olx.OverlayOptions.prototype.insertFirst;
/**
* Object literal with config options for the Proj4js projection.
* @typedef {{code: string,
* extent: (ol.Extent|undefined),
* global: (boolean|undefined)}}
* Object literal with forward and inverse coordinate transforms.
* @typedef {{forward: function(ol.Coordinate): ol.Coordinate,
* inverse: function(ol.Coordinate): ol.Coordinate}}
* @api
*/
olx.Proj4jsProjectionOptions;
olx.CoordinateTransforms;
/**
* The SRS identifier code, e.g. `EPSG:31256`.
* @type {string}
* The forward transform function that takes a {@link ol.Coordinate} as argument
* and returns the transformed {@link ol.Coordinate}.
* @type {function(ol.Coordinate): ol.Coordinate}
*/
olx.Proj4jsProjectionOptions.prototype.code;
olx.CoordinateTransforms.prototype.forward;
/**
* The validity extent for the SRS.
* @type {ol.Extent|undefined}
* The inverse transform function that takes a {@link ol.Coordinate} as argument
* and returns the transformed {@link ol.Coordinate}.
* @type {function(ol.Coordinate): ol.Coordinate}
*/
olx.Proj4jsProjectionOptions.prototype.extent;
/**
* Whether the projection is valid for the whole globe. Default is `false`.
* @type {boolean|undefined}
*/
olx.Proj4jsProjectionOptions.prototype.global;
olx.CoordinateTransforms.prototype.inverse;
/**