WebGIS 5.0 API: service¶
Members¶
Name |
Beschreibung |
---|---|
Gibt einen Layer aufgrund seiner Id zurück. |
|
Gibt ein Layer aufgrund seines Namens zurück. |
|
Gib eine Auflistung aller Layer Ids in einem Service zurück. |
|
Gibt ein Array mit den Ids der übergeben Layer zurück. |
|
Erzeugt einen Link zum Abholen das aktuellen Legendbildes für den Dienst. |
|
Mit dieser Methode kann eine Vorschaubild eines Dienstes in einer gewissen Größe abgeh… |
|
Überprüft, ob ein Layer im aktuellen Kartenmaßstab sichtbar ist. |
|
Erzwingt ein Neuzeichnen des Dienstes in der Karte. |
|
Entfernt einen Dienst aus einer Karte. |
|
Setzt die Sichtbarkeit von Layern über ihre Id. |
|
Gib die Transparenz für ein Service an. |
|
Setzt alle Layer mit einer ensprechenden Id sichbar und alle restlichen Layer unsichtbar. |
Properties¶
Name |
Beschreibung |
---|---|
Die Id des Dienstes. |
|
Gibt an, ob es sich bei diesem Service um einen Hintergrunddienst handelt. |
|
Ein Array der Layer des Dienstes. |
|
Das map Objekt der in dem das Service eingebunden ist. |
|
Der Name des Services. |
|
Gibt die Transparenz des Dienstes an. |
Member Details¶
getLayer (id)¶
Beschreibung
Gibt einen Layer aufgrund seiner Id zurück. Wenn der Layer im Dienst nicht gefunden wird, ist der Rückgabewert null
.
Beispiel
var layer = service.getLayer('2');
if(layer != null) {
// do something
}
getLayerFromName (name)¶
Beschreibung
Gibt ein Layer aufgrund seines Namens zurück. Wenn der Layer im Dienst nicht gefunden wird, ist der Rückgabewert null
.
Beispiel
var layer = getLayerFromName('Verwaltungsdaten\\PLZ-Flächen');
if(layer != null) {
// do something
}
getLayerIds ()¶
Beschreibung
Gib eine Auflistung aller Layer Ids in einem Service zurück. Der Rückgabewert ist ein Array, das dann beispielsweise wieder an die Methode setLayerVisibility([],true/false)
übergeben werden, um alle Layer in ein Dienst aus- oder einzuschalten.
Beispiel
Alle Layer in einem Dienst unsichtbar schalten. Der gleiche Effekt kann auch eleganter mit der Methode setServiceVisibility();
erfolgen.
var layerIds = service.getLayerIds();
service.setLayerVisibility(layerIds, false);
//
// Wieder alle Layer sichtbar schalten
service.setLayerVisibility(layerIds, true);
// bzw.
service.setServiceVisibliity(service.getLayerIds());
getLayerIdsFromNames (layernames)¶
Beschreibung
Gibt ein Array mit den Ids der übergeben Layer zurück. Übergeben wird ein Array von String mit den Layernamen.
Die Funktion ist nützlich, da die Ids beispielsweise für das setzen der Sichtbarkeit der Layer notwendig ist. Wenn sich bei Layer die Ids ändern können (zB beim AGS Services durch umsortieren der Layer), empfielt es die aktuellen Ids aus dem Namen zu holen.
Beispiel
var service=map.getService('estag_basis_ags@ccgis_default');
var layerIds=service.getLayerIdsFromNames(['Verwaltungsdaten\\PLZ-Flächen']);
//console.log(layerIds);
service.setLayerVisibility(layerIds,true);
getLegendUrl ()¶
Beschreibung
Erzeugt einen Link zum Abholen das aktuellen Legendbildes für den Dienst. Die Legende ist abhängig von der aktuellen Layer Sichtbarkeit und vom Kartenmaßstab. Die Url kann verwendet werden, um beispielsweise über einen AJAX Request die Legende abzuholen und das Ergebnis an ein Image Element zu übergeben. Der Rückgabewert ist ein JSON Objekt mit der Eigenschaft url. Diese Url ist ein Link auf das eigentliche Legenden Bild (png oder jpg).
Beispiel
$.ajax({
url: service.getLegendUrl(),
type: 'get',
success: function(result) {
if (result && result.url) {
webgis.$('<img>').attr('src', result.url).appendTo('body');
}
}
});
getPreviewUrl (r)¶
Beschreibung
Mit dieser Methode kann eine Vorschaubild eines Dienstes in einer gewissen Größe abgeholt werden. Der Rückgabewert ist eine Url die einen Bild entspricht (png oder jpg). Diese Vorschau ist abhängig vom aktuellen Kartenmaßstab. Anwendungen für diese Methode sind beispielsweise die Vorschaubilder für die Hintergrundkarten im TOC.
Der Übergabeparameter muss ein Objekt mit den Werten width
und height
sein und gibt die Größe des Vorschaubildes an.
Beispiel
webgis.$("<div>").css('background', 'url(' + service.getPreviewUrl({width: 200, height: 200}) + ')').appendTo('body');
layerInScale (id)¶
Beschreibung
Überprüft, ob ein Layer im aktuellen Kartenmaßstab sichtbar ist. Gewisse Layer in einem Service können Maßstabsanhängig sein. Es macht beispielsweise wenig Sinn Grundstücksgrenzen in sehr kleinen Maßstaben darzustellen. Um abzufragen, ob ein Layer im aktuellen Maßstabsbereich sichtbar ist, kann diese Methode verwendet werden. Der Übergabeparameter ist die Id des entsprechenden Layers. Der Funktionsrückgabe wert ist entweder true
oder false
.
Beispiel
if(service.layerInScale('1')) { // Layer mit Id 1
// do something
}
refresh ()¶
Beschreibung
Erzwingt ein Neuzeichnen des Dienstes in der Karte. Durch diesen Befehl wird das Kartenbild für diesen Dienst neu vom Kartenserver abholt. Die Methode sollte in der Regel nicht aufgerufen werden müssen. Nach Änderungen in der Karte oder der Sichtbarkeit von Layern in diesem Dienst, wird die Methode automasich vom webGIS Framework ausgeführt.
Beispiel
service.refresh();
remove ()¶
Beschreibung
Entfernt einen Dienst aus einer Karte.
Beispiel
service.remove();
setLayerVisibility (layerids, visible)¶
Beschreibung
Setzt die Sichtbarkeit von Layern über ihre Id. Übergeben werden die entspechenden Ids als Array und der Bool-Wert, für die Sichtbarkeit: true=sichtbar, false=unsichtbar.
Beispiel
var service=map.getService('estag_basis_ags@ccgis_default');
service.setLayerVisibility(['1','2','3'],true);
setOpacity (opacity)¶
Beschreibung
Gib die Transparenz für ein Service an. Der Wert muss zwischen 0.0 und 1.0 liegen:
0.0 … komplett durchlässig
1.0 … nicht transparent
Beispiel
var service=map.getService('estag_basis_ags@ccgis_default');
service.setOpacity(0.5);
setServiceVisibility (layerids)¶
Beschreibung
Setzt alle Layer mit einer ensprechenden Id sichbar und alle restlichen Layer unsichtbar. Der Übergabe Parameter ist ein Array mit den Layer-Ids. Wird ein leeres Array oder Nichts übergeben, werden alle Layer in einem Dienst unsichtbar gesetzt.
Beispiel
// Nur die Layer 1,2,3 sichtbar setzen
service.setServiceVisibility(['1', '2', '3']);
// Alle Layer in einen Dienst unsichtbar setzten
service.setServiceVisibility();
// Alle Layer sichtbar schalten
service.setServiceVisibility(service.getLayerIds());
Property Details¶
id¶
Beschreibung
Die Id des Dienstes. Mit dieser Id kann ein Dienst auch in über ein map
Objekt mit der Method getService(id)
gefunen werden.
Beispiel
Das folgende Beispiel zeigt den Zusammenhang zwischen Dienst-Id und Karten Objekt.
// get service id
var serviceId = service.id
// get service map
var map = service.map;
// get service with id from map
var service_with_id = map.getService(id);
isBasemap¶
Beschreibung
Gibt an, ob es sich bei diesem Service um einen Hintergrunddienst handelt.
Beispiel
if(service.isBasemap == true) {
// Do something
}
layers¶
Beschreibung
Ein Array der Layer des Dienstes. Die einzelnen Werte des besitzen wieder eigenschaften wie id
und name
.
Beispiel
Zum Suchen von Layern gibt es eigentlich die Methoden getLayer()
, getLayerFromName()
, und getLayerIdsFromNames()
die verwendet werden sollten. In Ausnahme Fällen kann es aber auch wichtig sein die einzelen Layer aufzulisten
for(var l = 0; l < service.layers.length; l++) {
var layer = service.layers[l];
console.log(layer.id+" "+layer.name)
}
map¶
Beschreibung
Das map Objekt der in dem das Service eingebunden ist.
Beispiel
var serviceMap = service.map;
map.zoomTo([10,40,20,50]);
name¶
Beschreibung
Der Name des Services.
opacity¶
Beschreibung
Gibt die Transparenz des Dienstes an. Der Wert kann zwischen 0.0 (komplett tranzparent) und 1.0 (nicht transparent) liegen.
Der Wert sollte nicht gändert werden. Zum setzen der Transparenz soll die Methode setOpacity (opacity) verwendet werden.
Beispiel
var currentOpacity = service.opacity;