add a ol.layer.wms factory
This commit is contained in:
41
src/api/layer/wms.js
Normal file
41
src/api/layer/wms.js
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
goog.provide('ol.layer.wms');
|
||||||
|
|
||||||
|
goog.require('ol.layer.WMS');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @export
|
||||||
|
* @param {Object} opt_arg Config object.
|
||||||
|
* @return {ol.layer.WMS}
|
||||||
|
*/
|
||||||
|
ol.layer.wms = function(opt_arg) {
|
||||||
|
if (opt_arg instanceof ol.layer.WMS) {
|
||||||
|
return opt_arg;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @type {string} */
|
||||||
|
var url;
|
||||||
|
/** @type {Array.<string>} */
|
||||||
|
var layers;
|
||||||
|
/** @type {string} */
|
||||||
|
var format;
|
||||||
|
|
||||||
|
if (goog.isObject(opt_arg)) {
|
||||||
|
ol.base.checkKeys(opt_arg, ['url', 'layers', 'format']);
|
||||||
|
url = opt_arg['url'];
|
||||||
|
layers = opt_arg['layers'];
|
||||||
|
format = opt_arg['format'];
|
||||||
|
}
|
||||||
|
|
||||||
|
var msg;
|
||||||
|
if (!goog.isDef(url)) {
|
||||||
|
msg = 'Cannot create WMS layer; option "url" is missing';
|
||||||
|
ol.error(msg);
|
||||||
|
}
|
||||||
|
if (!goog.isArray(layers)) {
|
||||||
|
msg = 'Cannot create WMS layer; option "layers" is missing, ' +
|
||||||
|
'or is not an array';
|
||||||
|
ol.error(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ol.layer.WMS(url, layers, format);
|
||||||
|
};
|
||||||
@@ -48,6 +48,10 @@ goog.exportSymbol('ol.layer.XYZ', ol.layer.XYZ);
|
|||||||
goog.exportSymbol('ol.layer.osm', ol.layer.osm);
|
goog.exportSymbol('ol.layer.osm', ol.layer.osm);
|
||||||
goog.exportSymbol('ol.layer.OSM', ol.layer.OSM);
|
goog.exportSymbol('ol.layer.OSM', ol.layer.OSM);
|
||||||
|
|
||||||
|
// ol.layer.wms
|
||||||
|
goog.exportSymbol('ol.layer.wms', ol.layer.wms);
|
||||||
|
goog.exportSymbol('ol.layer.WMS', ol.layer.WMS);
|
||||||
|
|
||||||
// ol.feature
|
// ol.feature
|
||||||
goog.exportSymbol('ol.feature', ol.feature);
|
goog.exportSymbol('ol.feature', ol.feature);
|
||||||
goog.exportSymbol('ol.Feature', ol.Feature);
|
goog.exportSymbol('ol.Feature', ol.Feature);
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ goog.require("ol.feature");
|
|||||||
goog.require("ol.projection");
|
goog.require("ol.projection");
|
||||||
goog.require("ol.layer.xyz");
|
goog.require("ol.layer.xyz");
|
||||||
goog.require("ol.layer.osm");
|
goog.require("ol.layer.osm");
|
||||||
|
goog.require("ol.layer.wms");
|
||||||
goog.require("ol.popup");
|
goog.require("ol.popup");
|
||||||
goog.require("ol.Tile");
|
goog.require("ol.Tile");
|
||||||
goog.require("ol.TileSet");
|
goog.require("ol.TileSet");
|
||||||
|
|||||||
@@ -57,6 +57,7 @@
|
|||||||
<script type="text/javascript" src="spec/api/projection.test.js"></script>
|
<script type="text/javascript" src="spec/api/projection.test.js"></script>
|
||||||
<script type="text/javascript" src="spec/api/layer/xyz.test.js"></script>
|
<script type="text/javascript" src="spec/api/layer/xyz.test.js"></script>
|
||||||
<script type="text/javascript" src="spec/api/layer/osm.test.js"></script>
|
<script type="text/javascript" src="spec/api/layer/osm.test.js"></script>
|
||||||
|
<script type="text/javascript" src="spec/api/layer/wms.test.js"></script>
|
||||||
<script type="text/javascript" src="spec/api/feature.test.js"></script>
|
<script type="text/javascript" src="spec/api/feature.test.js"></script>
|
||||||
<script type="text/javascript" src="spec/api/popup.test.js"></script>
|
<script type="text/javascript" src="spec/api/popup.test.js"></script>
|
||||||
|
|
||||||
|
|||||||
14
test/spec/api/layer/wms.test.js
Normal file
14
test/spec/api/layer/wms.test.js
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
describe('ol.layer.wms', function() {
|
||||||
|
|
||||||
|
describe('create a wms layer', function() {
|
||||||
|
|
||||||
|
it('creates an ol.layer.WMS instance', function() {
|
||||||
|
var wms = ol.layer.wms({
|
||||||
|
url: 'http://wms',
|
||||||
|
layers: ['layer1', 'layer2'],
|
||||||
|
format: 'image/png'
|
||||||
|
});
|
||||||
|
expect(wms).toBeA(ol.layer.WMS);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user