ym.services.GeoJsonService
Überblick
Die abstrakte Klasse GeoJsonService ist die Basisklasse für alle GeoJSON-WebService-Aufrufe.
Initialisierung
Constructor(name, path, options, defaults)
| Name | Beschreibung | Datentyp | Standardwert |
|---|---|---|---|
| name | Der Name der Klasse, ausgeschrieben als String; zum Beispiel "MyAwesomeClass". | string | |
| path | Dies ist der WebService-Pfad, unter dem alle Suchen im Kontext der erbenden Klasse durchgeführt werden sollen; zum Beispiel "api_rst/v2/geojson/geocode" für eine Klasse, die den Geocoder ansprechen soll. | string | |
| options | Einstellungen, die die Standardeinstellungen überschreiben sollen. Diese Optionen werden auch automatisch an das GeoJSON-Objekt übergeben. Das bedeutet, dass hier auch alle Optionen des GeoJSON-Objekts verwendet werden können. | object | |
| defaults | Standardeinstellungen, die die erbende Klasse festlegen kann. | object |
Beispielimplementierung
Um einen neuen GeoJSON-WebService zu registrieren, wird die Klasse GeoJsonService verwendet:
function MyWebService(options) {
ym.services.GeoJsonService.call(this, "MyWebService", "path/to/your/webservice", options, {
defaultA: 10,
defaultB: "hello, world!"
});
}
// Creates an inheritance of ym.services.GeoJsonService and adds a mixin object to the prototype of the class
ym.util.inherits(MyWebService, ym.services.GeoJsonService, {
// Overrides the send method.
send: function (myData) {
ym.services.GeoJsonService.prototype.send.call(this, {
// ... GeoJSON declaration for the request ...
});
}
});
WebService ausführen
var map = new ym.modules.Map("{...}");
var myWebService = new MyWebService({ defaultB: "hello, universe!" });
console.log(myWebService.options); // => { defaultA: 10, defaultB: "hello, universe!" }
// Each time a response is received, the GeoJSON is updated on the map.
myWebService.addTo(map);
myWebService.send("{ ... your data ... }");
Direkt in die Karte einbinden
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); // For map integration it must be a valid GeoJSON,
});
myWebService.send("{ ... your data ... }");
Methoden
getBounds()
Gibt das umgebende Rechteck des GeoJSON-Objekts zurück. Die Methode wird erst verwendet, nachdem a) eine Karte registriert wurde und b) bereits Daten geladen wurden.
- Rückgabe: LatLngBounds
addTo(map)
Zeichnet das interne GeoJSON-Objekt auf der Karte.
| Parameter | Beschreibung | Datentyp | Standardwert |
|---|---|---|---|
| map | Map |
- Rückgabe: this
removeFrom(map)
Entfernt das GeoJSON von der Karte.
| Parameter | Beschreibung | Datentyp | Standardwert |
|---|---|---|---|
| map | Map |
- Rückgabe: this
coordFormatMapping()
SmartMaps verfügt über eine Enumeration (Enum) mit verschiedenen Koordinatenformaten zur besseren Lesbarkeit. Diese repräsentieren Standards, die für das GeoJSON übersetzt werden.
| Parameter | Beschreibung | Datentyp | Standardwert |
|---|---|---|---|
| coordFormat | SmartMaps' eigene Koordinatenformat-Enumeration: GEODECIMAL_POINT := urn:ogc:def:crs:OGC:1.3:CRS84, MERCATOR := urn:ogc:def:crs:EPSG::900913 | string | GEODECIMAL_POINT |
- Rückgabe: Als Rückgabe wird einer der übersetzten Codes in properties.name geliefert: