ym.services.GeoJsonService
Überblick
Die abstrakte Klasse GeoJsonService ist die Basis-Klasse für alle unsere GeoJSON-WebService-Aufrufe.
Initialisierung
constructor(name, path, options, defaults)
| Name | Beschreibung | Datentyp | Standardwert | 
|---|---|---|---|
| name | Der Name ist der als String ausgeschriebene Name der Klasse; zum Beispiel „MyAwesomeClass“. [erfoderlich] | string | |
| path | Dies ist der WebService Pfad, auf dem alle Suchen im Rahmen der erbenden Klasse durchgeführt werden soll; zum Beispiel „api_rst/v2/geojson/geocode“ für eine Klasse, die den Geocoder ansprechen soll. [erfoderlich] | string | |
| options | Settings, die die Standard-Settings überschreiben sollen. Diese Options werden automatisch auch an das GeoJSON Objekt weiter gereicht. Das bedeutet, alle Options vom GeoJSON Objekt können auch hier zum Einsatz kommen. [optional] | object | |
| defaults | Standard-Settings, die die erbende Klasse vorgeben kann. [optional] | object | 
Beispiel-Implementierung
Um einen neuen GeoJSON-WebService anzumelden, wird die Klasse GeoJsonService genutzt:
function MyWebService(options) {
    ym.services.GeoJsonService.call(this, "MyWebService", "path/to/your/webservice", options, {
        defaultA: 10,
        defaultB: "hello, world!"
    });
}
 
// Erzeugt eine Vererbung von ym.services.GeoJsonService und fügt dem Prototyp der Klasse ein Mixin-Objekt hinzu.
ym.util.inherits(MyWebService, ym.services.GeoJsonService, {
 
    // Überschreibt die Methode send.
    send: function (myData) {
        ym.services.GeoJsonService.prototype.send.call(this, {
            // ... GeoJSON-Deklaration für die Anfrage ...
        });
    }
});WebService ausführen:
var map = new ym.modules.Map("{...}");
 
var myWebService = new MyWebService({ defaultB: "hello, universe!" });
console.log(myWebService.options); // => { defaultA: 10, defaultB: "Hallo Universum!" }
 
// Jedes Mal, wenn eine Antwort eintrifft, wird das GeoJSON auf der Karte aktualisiert.
myWebService.addTo(map);
 
myWebService.send("{ ... your data ... }");Direkt in die Karte integrieren:
var myWebService = new MyWebService({ defaultB: "hello, universe!" });
console.log(myWebService.options); // => { defaultA: 10, defaultB: "hello, universe!" }
 
myWebService.on('success', function (req, res) {
    console.log(res.body); // Für die Kartenintegration muss es ein gültiger GeoJSON sein,
});
 
myWebService.send("{ ... your data ... }");Methoden
getBounds() ab v3
Gibt das umgebende Rechteck des GeoJSON-Objekts zurück. Die Methode kommt erst zum Einsatz, nachdem a) eine Karte registriert ist und b) bereits Daten geladen wurden.
LatLngBounds
Rückgabe
addTo(map) ab v3
Zeichnet das interne GeoJSON-Objekt auf die Karte.
Parameter
| Name | Beschreibung | Datentyp | Standardwert | 
|---|---|---|---|
| map | Map | 
Rückgabe
this
removeFrom(map) ab v3
Entfernt das GeoJSON von der Karte.
Parameter
| Name | Beschreibung | Datentyp | Standardwert | 
|---|---|---|---|
| map | Map | 
Rückgabe
this
coordFormatMapping() ab v3
SmartMaps besitzt zur besseren Lesbarkeit eine Aufzählung (enum) mit verschiedenen Koordinatenformaten. Diese repräsentieren Standards, die für das GeoJSON übersetzt werden.
Parameter
| Name | Beschreibung | Datentyp | Standardwert | 
|---|---|---|---|
| coordFormat | SmartMaps eigene Koordinatenformat-Aufzählung: GEODECIMAL_POINT:= urn:ogc:def:crs:OGC:1.3:CRS84MERCATOR:= urn:ogc:def:crs:EPSG::900913[optional] | string | GEODECIMAL_POINT | 
Rückgabe
Als Rückgabe wird einer der übersetzten Codes in properties.name mitgeliefert:
{
    "type": "name",
    "properties": {
        "name": "{formatierte Zeichenkette}"
    }
}