ym.services.GeoCoder

Initialisierung

GeoCoder wird folgendermaßen initialisiert:
var geocoder = new ym.services.GeoCoder();  

Constructor(options)

Der Parameter options ist nicht erforderlich.

Der Konstruktor nutzt die Standard-Definition aus ym.provider.GeoJSON und erweitert sie um einige Eigenschaften:

Name Beschreibung Datentyp Standardwert
channel Eine Zeichenfolge, die protokolliert wird; sie kann vom Benutzer frei gewählt werden. string

Methoden

GeoCoder.geocode(location, options) ab v3

Sie können diese Methode verwenden, um eine Adresse in Form eines location-Objekts zu geokodieren. Die folgenden Bestandteile einer postalischen Adresse können übergeben werden:

Parameter: location

Name Beschreibung Datentyp Standardwert
country Land string
district Bundesland oder Bundesstaat string
zip Postleitzahl string
city Ort string
cityPart Teilort string
cityAddon Zusätzliche Information zur Stadt oder zum Ort string
street Straßenname string
houseNo Hausnummer string

Parameter: option

Die Optionen entsprechen denen des Konstruktors. Standardmäßig werden die Optionen aus dem Konstruktor und der Elternklasse verwendet. Wenn die Optionen hier gesetzt werden, überschreiben sie für diesen Aufruf die vorher gesetzten Optionen.

Aufruf

Codebeispiel: GeoCoder.geocode(location, options) Beispielaufruf

geocoder.geocode({
zip: "76131",
city: "ka"
},
{
coordFormat: "GEODECIMAL_POINT",
locale: "de-DE",
channel: "mobile device"
});

GeoCoder.geocodeString(singleSlot, options) ab v3

Diese Methode ist vergleichbar mit der geocode()-Methode. Der Unterschied ist, dass ein Freitext übergeben werden kann.

Parameter: singleSlot

Alle Adress-Informationen werden als einzeilige Information übergeben, zum Beispiel „CAS-Weg 4, 76131 Karlruhe“ (Komma optional). Die Methode geocodeString() ist vor allem dann sinnvoll, wenn ein einziges Texteingabefeld auf der Seite besteht, über das eine Adresse eingegeben werden soll.

Parameter: option

Die Optionen entsprechen denen des Konstruktors. Standardmäßig werden die Optionen aus dem Konstruktor und der Elternklasse verwendet. Wenn die Optionen hier gesetzt werden, überschreiben sie für diesen Aufruf die vorher gesetzten Optionen.

Rückgabe (application/json)

Der Rückgabecontainer ist vom Typ GeocoderResult.

Codebeispiel: GeoCoder.geocodeString(singleSlot, options) Beispielaufruf

let geocodingResult = geocoder.geocodeString("Marktplatz, Karlsruhe");

GeoCoder.reverseGeocode(latLng, options) ab v3

Parameter: latLng

Erlaubte Datentypen sind: ym.modules.provider.LatLng{lat:Number, lng:Number} oder ein Array in Format [latitude, longitude]

Parameter: options

Die Optionen entsprechen denen des Konstruktors. Standardmäßig werden die Optionen aus dem Konstruktor und der Elternklasse verwendet. Wenn die Optionen hier gesetzt werden, überschreiben sie für diesen Aufruf die vorher gesetzten Optionen.

Aufruf

Codebeispiel: GeoCoder.reverseGeocode(latLng, options) Beispielaufruf

geocoder.reverseGeocode({lat: 48.9941241, lng: 8.3510868});
geocoder.reverseGeocode([48.9941241, 8.3510868]);
geocoder.reverseGeocode(ym.latLng(48.9941241, 8.3510868));
geocoder.reverseGeocode(new ym.modules.provider.LatLng(48.9941241, 8.3510868));

Ereignisse

Um eine Geokodierung mitzuverfolgen, ist der Geocoder mit einem Event-Emitter ausgestattet, der zwei Ereignisse unterstützt:

Codebeispiel: Ereignisse

geocoder.on('success', function (request, response) {
	if (response.body) {
		var geoJson = ym.geoJson(response.body);
		geoJson.addTo(map);
	}
});
 
geocoder.on('error', function (request, response) {
	console.log(response.xhr);
	console.log(response.event);
});