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