WebGIS 5.0 API: map¶
Members¶
Name |
Beschreibung |
---|---|
Zum Hinzufügen von dynamischem Inhalt in eine Karte. |
|
Fügt einen Marker der Karte hinzu. |
|
Frage die Id des aktuellen Hintergrunddienstes ab. |
|
Gibt das entsprechende Service Objekt zurück. |
|
Erzeugt aus der aktuell dargestellten Karte einen Ausdruck bzw. ein Bild. |
|
Entfernt einen Marker aus der Karte. |
|
Entfernt alle Marker, die mit der Methode toMarkerGroup() einer bestimmten Gruppe zugeor… |
|
Gibt ein Array mit den Ids aller Services (Kartendiensten) zurück, die in der Karte eingebun.. |
|
Schaltet eine entsprechende Hintergrundkarte sichtbar |
|
Zoomt die Karte auf einen Punkt und Maßstab. |
|
Mit dieser Methode kann ein Marker einer Gruppe zugeordnet werden. |
|
Zoomt die Karte auf einen übergebenen Ausschnitt. |
Properties¶
Name |
Beschreibung |
---|---|
Das graphics Element für diese Karte. |
|
Über diess Eigenschaft erfolgt der Zugriff auf den Sketch in der Karte. |
Member Details¶
addDynamicContent (contentItems, loadFirst)¶
Beschreibung
Zum Hinzufügen von dynamischem Inhalt in eine Karte.
Dynamischer Inhalt kann dabei sein:
Ein GeoRSS Dienst
Ein GeoJson Dienst
Eine von der API veröffentlichte Abfrage
Beispiel
map.addDynamicContent([
{ // Einbinden einer vordefinierten API Suche
id: 'dynamic_content_id1',
name: "Dynamische Inhalt 1",
url: '/rest/services/serviceid@cms/queries/queryid',
type: 'api-query'
},
{ // Einbinden einer vordefinierten API Suche mit suchbegriff(en)
id: 'dynamic_content_id2',
name: "Dynamische Inhalt 2",
url: '/rest/services/serviceid@cms/queries/queryid/query?suchbegriff=wert&..',
type: 'api-query'
},
{
id: 'dynamic_content_id3',
name: "Geo RSS Dienst",
url: 'http://....../info.rss',
type: 'georss'
},
{
id: 'dynamic_content_id3',
name: "GeoJson Dienst",
url: 'http://....../info.json',
type: 'geojson'
},
], true);
addMarker (options)¶
Beschreibung
Fügt einen Marker der Karte hinzu. Als Parameter wird ein Objekt übergeben, dass mindestens die geographischen Koordinaten des Markers enthalten muss. Zusätzlich kann noch beispielsweise ein Text übergeben werden, der dann in einem Popup für den Marker dargestellt wird.
Beispiel
marker = map.addMarker({
lat: lngLat[1],
lng: lngLat[0],
icon:'blue',
text: "Ich bin hier: (" + x + ", " + y + ")",
openPopup: true,
buttons: [{
label: 'Marker entfernen',
onclick: function(map, marker) {
map.removeMarker(marker);
}
}]
});
Hier wird noch ein Text für das Popup Fenster übergeben. Außerdem soll das Popup Fenster gleich geöffnet werden. Mit der Eigenschaft buttons
kann noch ein Array von Objekten übergeben werden, die dann im Popup als Buttons dargestellt werden. Das Klickevent kann hier über die Eigentschaft onclick für jeden Button angeführt werden und erhält als Parameter das Map Objekt.
Als Icon können über die entsprechende icon
-Eigenschaft gesetzt werden. Mögliche Werte sind hier
blue
currentpos_red
currentpos_green
sektch_vertex
übergeben werden. Übergibt man dieser Eigenschaft ein Objekt, können auch komplett benutzerdefinierte Marker erstellt werden:
icon: {
iconUrl: 'http://...', // Url zu einem Icon Bild
iconSize: [30, 20], // Größe des Bildes
iconAnchor: [15, 10], // Einfügepunkt des Markers in Bildkoordinaten
popupAnchor: [15, 0] // Einfügepunkt des Popups in Bildkoordinaten
}
currentBasemapServiceId ()¶
Beschreibung
Frage die Id des aktuellen Hintergrunddienstes ab. Hintergrunddienste sind immer Tiling Dienste (Kacheln).
Beispiel
var basemapId = map.currentBasemapServiceId();
getService (id)¶
Beschreibung
Gibt das entsprechende Service Objekt zurück.
Beispiel
var service=map.getService('estag_basis_ags@ccgis_default');
print (options, callback)¶
Beschreibung
Erzeugt aus der aktuell dargestellten Karte einen Ausdruck bzw. ein Bild. In diesem Bild sind alle Dienste, Kacheln und dargestellen Graphiken (gilt nicht für den aktuellen Werkzeugsketch oder Marker von Abfrageergebnissen) zusamengefasst.
Der erste Parameter gibt Optionen an, die das zurückgebene Bild beschreiben. Hier sind alle Eigenschaften optional (siehe Beispiel). Wichtig sind vor allem die Eigenschaften imageWidth
und imageHeight
, die die Größe des ausgegeben Bildes beschreiben. Die Defaultwerte sind hier [1024, 760]. Weiters kann der Maßstab über die Eigenschaft scale
übergeben werden. Hier ist der Defaultwert der aktuelle Maßstab in der Karte im Browser. Beim Erzeugen des Kartenbildes bleibt der übergebene Maßstab immer erhalben. Wenn sich die Bildgröße von der Größe der Karte im Browser unterscheidet, kann sich somit auch der aktuelle Auschnitt ändern. Die aufrufende API Applikation ist hier dafür verantwortlich, dass die Größe richtig übergeben wird. Wenn sich die Kartenbildgröße von der Karte im Browser unterscheidet und trotzdem der gesammte dargestellt Ausschnitt gezeichnet werden soll, muss der Maßstab (Eigenschaft scale) entsprechend angepasst werden. Der Mittelpunkt der Karte im Browser ist auch immer der Mittelpunkt im erzeugten Kartenbild.
Theoretisch können auch Parameter übergeben werden, um als Rückgabe ein PDF Dokument zu bekommen. Das wird hier allerdings nicht beschrieben, da die Möglichkeiten hier vom jeweiligen Betreiber/Adrministrator der WebGIS-API abhängig ist.
Die Funktion ist asynkron, der zweite Parameter ist eine Funktion, die aufgerufen wird, wenn das Kartenbild fertig ist. Dieser Funktion wird ein Objekt übergeben mit einer Eigenschaft url
, die einen Link zum erstellen Bild entspricht.
Beispiel
map.print({}, function(result) {
// result.url....
});
map.pring({
imageWidth: 1920, // default: 1024
imageHeight: 1024, // default: 760
scale: 1000 // defaullt: aktueller Maßstab in der Karte
},
function(result) {
webgis.$('<img />').attr('src', result.url).appendTo('body');
});
removeMarker (marker)¶
Beschreibung
Entfernt einen Marker aus der Karte. Einziges Argument ist hier der Marker der von der Methode addMarker (options) zurück gegeben wird.
Beispiel
var marker=map.addMarker({...});
...
map.removeMarker(marker);
removeMarkerGroup (groupName)¶
Beschreibung
Entfernt alle Marker, die mit der Methode toMarkerGroup (groupName, marker) einer bestimmten Gruppe zugeordnet wurden. Als Parameter wird der Gruppenname (Zeichenkette) übergeben.
Beispiel
map.toMarkerGroup('my-markers', map.addMarker({...});
map.toMarkerGroup('my-markers', map.addMarker({...});
...
map.removeMarkerGroup('my-markers');
serviceIds ()¶
Beschreibung
Gibt ein Array mit den Ids aller Services (Kartendiensten) zurück, die in der Karte eingebunden sind. Diese Methode kann verwendet werden um alle vorhanden Dienste in der Karte aufzulisten oder zu verarbeiten.
Beispiel
Hier wirde ein Schleife über alle Dienste ausgeführt und danach mit der Methode getService (id) das eigentliche service-Object abgefragt. Danach kann auf die Methode und Eigenschaften des Dienstes zugegriffen werden.
var serviceIds = map.getServiceIds();
for(var i = 0;i < serviceIds.length; i++) {
var service = map.getService(serviceIds[i]);
// do something
console.log(service.name);
service.setOpacity(0.5);
// ...
}
setBasemap (serviceId)¶
Beschreibung
Schaltet eine entsprechende Hintergrundkarte sichtbar. Als Hintergrundkarte ist hier immer Tiling-Dinst zu verstehen. Da immer nur ein Hintergrunddienst gleichzeit sichtbar ist, wird mit dieser Methode der aktuelle Hintergrunddienst automatisch ausgeblendet.
Als Parameter wird die Id des Hintergrunddienstes übergeben.
Beispiel
map.setBasemap('ortsplan@ccgis-default');
setScale (s, center)¶
Beschreibung
Zoomt die Karte auf einen Punkt und Maßstab. Der erste Parameter ist der Maßstab (zb 1000 für 1:1000). Der zweite Paremeter ist das neue Kartenzentrum als Array von geographischen Koordinaten [Lng, Lat].
Beispiel
map.zoomTo(1000, [15, 46]); // Maßstab 1:1000
toMarkerGroup (groupName, marker)¶
Beschreibung
Mit dieser Methode kann ein Marker einer Gruppe zugeordnet werden. Das Gruppe ist hier eine beliebige Zeichenkette zu verstehen, die als Klammer für gleichartige Marker dient. Durch das Zuordnen von Markern in eine Gruppe wird später das entfernen dieser Marker einfacher, siehe Methode removeMarkerGroup (groupName).
Der erster Parameter für die Methode ist der Name der Gruppe, der zweite Parameter entspricht dem Marker, wie er von der Methode addMarker (options) zurückgegeben wird.
Beispiel
map.toMarkerGroup('my-markers', map.addMarker({...}));
zoomTo (bounds, project)¶
Beschreibung
Zoomt die Karte auf einen übergebenen Ausschnitt. Der erste Paremeter ist ein Array mit den Werten der BoundingBox: [min-Lng, min-Lat, max-Lng, max-Lat].
Lng steht hier für Longitude, also die geographische Länge (Längengrad)
Lat steht hier für Latitude, also die geographische Breite (Breitengrad)
Der zweite Parameter ist optional und ein Bool-Werte.
Die Methode erwartet als BoundingBox geographische Koordinaten (Länge [-180…+180], Breite [-90…+90]). Wird für den zweiten Parameter der Wert true übergeben, können hier auch projezierte Koordinaten in System der Karte übergeben werden.
Beispiel
map.zoomTo([15, 47, 16, 28]);
map.zoomTo([-68000, 215000, -69000, 216000], true); // zB bei Kartenprojetion 31256 - GK-M34
Property Details¶
graphics¶
Beschreibung
Das graphics Element für diese Karte. Damit hat man Zugriff auf auf graphische Overlays (Linien, Symbole, Flächen) bzw. kann solche der Karte hinzufügen.
Beispiel
map.graphics.fromGeoJson(geoJson);
sketch¶
Beschreibung
Über diess Eigenschaft erfolgt der Zugriff auf den Sketch in der Karte. Mit dem Sketch hat der Anwender die Möglichkeit, Objekte zu zeichnen. Dies wird beispielsweise beim Messen oder Bearbeiten verwendet.
Beispiel
map.sketch.zoomTo();