1. Home
  2. Dokumente
  3. Karten
  4. Geokodierung

Geokodierung

Beschreibung

Sie können mit Hilfe der SmartMaps-API sowohl beliebige Adressen geokodieren als auch einer Koordinate eine Adresse zuordnen. Verwenden Sie hierzu bitte die Klasse 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: 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.

Rückgabe (application/json)

Der Rückgabecontainer ist vom Typ GeocoderResult.

Beispielaufruf
let geocodingResult = 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: 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.

Rückgabe (application/json)

Der Rückgabecontainer ist vom Typ GeocoderResult.

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.

Rückgabe (application/json)

Der Rückgabecontainer ist vom Typ GeocoderResult.

Beispielaufrufe
let geocodingResult1 = geocoder.reverseGeocode({lat: 48.9941241, lng: 8.3510868});
let geocodingResult2 = geocoder.reverseGeocode([48.9941241, 8.3510868]);
let geocodingResult3 = geocoder.reverseGeocode(ym.latLng(48.9941241, 8.3510868));
let geocodingResult4 = 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:

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);
});

Weitere Informationen

Beispielszenarios

Wie können wir helfen?