@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
40 lines (39 loc) • 1.38 kB
JavaScript
import { WmsClientDefault, WmsClientGeoServer, WmsClientMapServer, WmsClientQgis } from './wmsclient';
import VendorSpecificOgcServerManager from '../vendorspecificogcservermanager';
export default class WmsManager extends VendorSpecificOgcServerManager {
constructor(type) {
super(type);
Object.defineProperty(this, "map", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
// Register the default client
this.registerClientClass('default', WmsClientDefault);
this.registerClientClass('geoserver', WmsClientGeoServer);
this.registerClientClass('mapserver', WmsClientMapServer);
this.registerClientClass('qgisserver', WmsClientQgis);
}
getClientId(ogcServer) {
return ogcServer.uniqueWmsQueryId;
}
createClient(clientClass, ogcServer) {
return new clientClass(ogcServer, this.map);
}
selectFeatures(extent) {
for (const client of this._clients.values()) {
client.selectFeatures(extent);
}
}
refreshZIndexes() {
for (const client of this._clients.values()) {
client.refreshZIndexes();
}
}
removeAllBasemapLayers() {
for (const client of this._clients.values()) {
client.removeAllBasemapLayers();
}
}
}