Zum Inhalt

ym.services.GeoCoder

Initialisierung

Der GeoCoder wird wie folgt initialisiert:

var geocoder = new ym.services.GeoCoder();

Constructor(options)

Der Parameter options ist nicht erforderlich. Der Constructor verwendet die Standarddefinition von ym.provider.GeoJSON und erweitert sie um einige Eigenschaften:

Name Beschreibung Datentyp Standardwert
channel Ein String, der protokolliert wird; er kann vom Benutzer frei gewählt werden. string

Methoden

GeoCoder.geocode(location, options)

Mit dieser Methode können Sie eine Adresse als Location-Objekt geocodieren. Die folgenden Komponenten einer Postadresse können übergeben werden:

Parameter: location

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

Parameter: option

Die Optionen entsprechen denen des Constructors. Standardmäßig werden die Optionen aus dem Constructor und der übergeordneten Klasse verwendet. Werden die Optionen hier gesetzt, überschreiben sie die zuvor gesetzten Optionen für diesen Aufruf.

Aufruf

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

GeoCoder.geocodeString(singleSlot, options)

Diese Methode ähnelt der Methode geocode(). Der Unterschied besteht darin, dass ein Freitext übergeben werden kann.

Parameter: singleSlot

Alle Adressinformationen werden als einzeilige Information übergeben, zum Beispiel „CAS-Weg 4, 76131 Karlsruhe" (Komma optional). Die Methode geocodeString() ist besonders nützlich, wenn auf der Seite ein einzelnes Texteingabefeld vorhanden ist, in das eine Adresse eingegeben werden soll.

Parameter: option

Die Optionen entsprechen denen des Constructors. Standardmäßig werden die Optionen aus dem Constructor und der übergeordneten Klasse verwendet. Werden die Optionen hier gesetzt, überschreiben sie die zuvor gesetzten Optionen für diesen Aufruf.

Aufruf

Code-Beispiel: GeoCoder.geocodeString(singleSlot, options) Aufrufbeispiel
geocoder.geocodeString("Marktplatz, Karlsruhe");

GeoCoder.reverseGeocode(latLng, options)

Parameter: latLng

Zulässige Datentypen sind: ym.modules.provider.LatLng, {lat:Number, lng:Number} oder ein Array im Format [latitude, longitude].

Parameter: options

Die Optionen entsprechen denen des Constructors. Standardmäßig werden die Optionen aus dem Constructor und der übergeordneten Klasse verwendet. Werden die Optionen hier gesetzt, überschreiben sie die zuvor gesetzten Optionen für diesen Aufruf.

Aufruf

Code-Beispiel: GeoCoder.reverseGeocode(latLng, options) Aufrufbeispiel
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));

Events

Um ein Geocoding nachzuverfolgen, ist der Geocoder mit einem Event-Emitter ausgestattet, der zwei Events unterstützt:

Code-Beispiel: Events
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);
});