Zum Inhalt

ym.modules.autoComplete V5

Initialisierung

Codebeispiel: Initialisierung Autocomplete

// Pass version of AutoComplete
ym.ready({ autocomplete: 5 }, function (modules) {
    var autocomplete1 = new ym.modules.AutoComplete('#autocomplete1', {
        onSelected: function (geoJson) {
            geocoder.geocode(geoJson.properties.location);
        }
    });

    // Use the factory method to create the instance.
    var autocomplete2 = ym.modules.autoComplete('#autocomplete2', {
        onSelected: function (geoJson) {
            geocoder.geocode(geoJson.properties.location);
        }
    });
});

Constructor(selector, settings)

  • Parameter: selector
    Im Parameter selector kann ein CSS3-Selector übergeben werden, der dem Eingabefeld des Autocomplete hinzugefügt wird.

  • Parameter: settings
    Die übergebenen Parameter können nachträglich angepasst werden, indem auf die Variable options des Autocomplete-Objekts zugegriffen und die einzelnen Variablen geändert werden. Die nächste Suche verwendet dann die geänderten Parameter.

Name Beschreibung Datentyp Standardwert
className Fügt dem Autocomplete-Container eine CSS-Klasse hinzu. string ""
isoCountries Die Länder, in denen gesucht werden soll: Es kann ein Array mit beliebig vielen Ländercodes nach ISO-3166-2 übergeben werden. Wird der Parameter nicht übergeben, wird in allen unterstützten Ländern gesucht. (Muss klein geschrieben sein) string[] []
isoLanguages Legt die zurückzugebenden Lokalisierungen fest: Es wird ein Array mit beliebig vielen Ländercodes nach ISO-3166-2 übergeben. Nur das erste Element wird verwendet. string[] []
radius Begrenzt den Suchbereich auf einen Radius in m. Die Koordinate des Mittelpunkts kann mit der Methode setCenter(latlng) gesetzt werden. number 0
positionIsFixed Betrifft die mit dem Autocomplete verknüpfte SmartMaps über die Methode .setMap(map). Standardmäßig wird die Suche im aktuellen Kartenausschnitt durchgeführt. Soll immer im initialen Kartenausschnitt gesucht werden, muss der Wert auf true gesetzt werden. boolean false
suggestionItemAlign Ermöglicht es, die Ergebnisliste erzwungenermaßen in einer Zeile (rows) oder in zwei Spalten darzustellen. Bei auto wird die Breite automatisch auf eine Zeile (rows) umgestellt, sobald die Breite 320px überschreitet. "rows", "columns" oder "auto" "auto"
showCountry Zeigt das Land in der Vorschlagsliste an, sofern verfügbar. boolean true
showState Zeigt das Bundesland in der Vorschlagsliste an, sofern verfügbar. boolean false
showCounty Zeigt den Landkreis in der Vorschlagsliste an, sofern verfügbar. boolean false
showDistrict Zeigt den Bezirk in der Vorschlagsliste an, sofern verfügbar. boolean false
showZip Zeigt die Postleitzahl in der Vorschlagsliste an, sofern verfügbar. boolean true
showVillage Zeigt den Ortsteil (Dorf) in der Vorschlagsliste an, sofern verfügbar. boolean false
showCityPart Zeigt den Stadtteil in der Vorschlagsliste an, sofern verfügbar. boolean false
showNeighborhood Zeigt die Nachbarschaft in der Vorschlagsliste an, sofern verfügbar. boolean false
showStreet Zeigt die Straße in der Vorschlagsliste an, sofern verfügbar. boolean true
showPoi Zeigt den Point of Interest in der Vorschlagsliste an, sofern verfügbar. boolean true
proximityBoost Der proximityBoost gewichtet die Ergebnisliste anhand einer Geokoordinate und eines Radius. Die Geokoordinate kann der Karteninstanz mit setMap(map) oder durch eine Koordinate mit setCenter(latlng) entnommen werden. Je höher der Wert im proximity boost, desto stärker werden Ergebnisse innerhalb des Radius bevorzugt. { enable?: boolean; value?: number; radius?: number; } { enable: false, value: 1}
boundingBoxBoost Der BoundingBoxBoost gewichtet die Ergebnisliste anhand eines Rechtecks. Die Bounding Box kann der Karteninstanz mit setMap(map) oder einem Rechteck mit setBounds(latlng) entnommen werden. Je höher der Wert in boundingBoxBoost, desto stärker werden Ergebnisse innerhalb des Rechtecks bevorzugt. { enable?: boolean; value?: number; } { enable: false, value: 1 }
inBoundingBox Zeigt nur Ergebnisse an, die innerhalb des im Parameter boundingBoxBoost angegebenen Rechtecks liegen. boolean false
searchZip Ermöglicht die Suche nach Postleitzahlen. boolean false
pins Ermöglicht das Festlegen der Icons in der Ergebnisliste. Array<{ html: string; type?: 'UNDEFINED' 'AIRPORT'
includeFilters Die auf true gesetzten Eigenschaften erzwingen, dass nur Ergebnisse zurückgegeben werden, die auf die entsprechenden Felder zutreffen. { airport?: boolean; attraction?: boolean; city?: boolean; citypart?: boolean; county?: boolean; country?: boolean; district?: boolean; island?: boolean; neighborhood?: boolean; state?: boolean; street?: boolean; streetWithoutCity?: boolean; trainstation?: boolean; village?: boolean; zip?: boolean; zipCity?: boolean; zipCitypart?: boolean; } []
excludeFilters Die auf true gesetzten Eigenschaften erzwingen, dass nur Ergebnisse zurückgegeben werden, die nicht auf die entsprechenden Felder zutreffen. { airport?: boolean; attraction?: boolean; city?: boolean; citypart?: boolean; county?: boolean; country?: boolean; district?: boolean; island?: boolean; neighborhood?: boolean; state?: boolean; street?: boolean; streetWithoutCity?: boolean; trainstation?: boolean; village?: boolean; zip?: boolean; zipCity?: boolean; zipCitypart?: boolean; } []

Methoden

  • update()
    Löst eine neue Suchanfrage aus und öffnet anschließend die Ergebnisliste.

  • updateMap()
    Aktualisiert die Bounding Box der Karte und erzwingt die Neuberechnung von Mittelpunkt und Radius.

  • fetch(query: string)
    Ruft die Ergebnisliste ab und gibt sie als GeoJSON zurück.

  • open()
    Wenn Vorschläge vorhanden sind, wird die Ergebnisliste sofort geöffnet.

  • close()
    Schließt die Vorschlagsliste sofort.

  • setMap(map: ym.Map)
    Registriert eine Karte für die Autocomplete-Suche. Ist die Karte im Autocomplete registriert, wird das Rechteck des Kartenausschnitts automatisch als Suchbereich für die Suche verwendet.

  • removeMap()
    Entfernt die registrierte Karte aus der Autocomplete-Suche. Durch das Entfernen der Karte entfällt die lokale Einschränkung.

  • setCenter(latlng: ym.LatLng, radius?: number)
    Definiert anhand des in den options gesetzten Radius einen Suchbereich, in dem die Suchanfrage ausgeführt werden soll.

  • getCenter()
    Sofern vorhanden, wird ein LatLng-Objekt zurückgegeben, das den Mittelpunkt des Suchrechtecks definiert. Ist kein Suchrechteck definiert, wird undefined zurückgegeben.

  • setBounds(latlngBounds: ym.LatLngBounds)
    Definiert einen Suchbereich anhand eines Suchrechtecks.

  • getBounds()
    Sofern vorhanden, wird ein LatLngBounds-Objekt zurückgegeben, das das Suchrechteck definiert. Ist kein Suchrechteck definiert, wird undefined zurückgegeben.

  • whenReady()
    Argument: onReady: (error?: Error) => void Führt einen onReady-Callback aus, nachdem die Autocomplete-Komponente bereit ist.
    Rückgabe: Promise Gibt ein Promise zurück, nachdem die Autocomplete-Komponente bereit ist.

Events

Name Beschreibung Datentyp
ready Das Event ready wird aufgerufen, wenn das Autocomplete initialisiert wurde. event
suggestion(geoJson, addresses, query) Das Event wird ausgelöst, nachdem das Autocomplete eine Ergebnisliste vom Webservice erhalten hat, anschließend wird suggestion aufgerufen. Es erhält ein GeoJson, eine Adressliste und die Suchanfrage. event
empty(query) Konnte das Autocomplete keine Treffer ermitteln, wird onEmpty aufgerufen. Hier wird nur die Suchanfrage zurückgegeben. event
selected(geoJson, address, query) Die Auswahl eines Treffers in der Autocomplete-Vorschlagsliste löst onSelected aus. Es erhält ein GeoJson, eine Adressliste und die Suchanfrage. event
error(error) Tritt ein serverseitiges Problem oder ein Problem mit der Datenverbindung auf, wird dieses Event ausgelöst. event

CSS-Variablen

Das Design von Autocomplete kann über CSS-Variablen konfiguriert werden. Dazu müssen sie in der :root-Pseudoklasse definiert werden. Vom Internet Explorer nicht unterstützt.

Name Beschreibung Datentyp Standardwert
--smartmaps-text-color Definiert die Text- und Icon-Farbe des Eingabefelds und der Ergebnisliste. CSS-Color #707070
--smartmaps-input-bg-color Definiert die Hintergrundfarbe des Eingabefelds. CSS-Color #ffffff
--smartmaps-suggestion-bg Definiert die Hintergrundfarbe der Ergebnisliste. CSS-Color #ffffff
--smartmaps-suggestion-hover-bg Definiert die Hintergrundfarbe eines Ergebnisses in der Ergebnisliste, wenn sich die Maus darüber bewegt. CSS-Color #ebebeb
--smartmaps-suggestion-hover-fg Definiert die Text- und Icon-Farbe eines Ergebnisses in der Ergebnisliste, wenn sich die Maus darüber bewegt. CSS-Color #707070
--smartmaps-mark-bg Definiert die Hintergrundfarbe der Hervorhebung, der Übereinstimmung mit der Suchzeichenkette innerhalb der Ergebnisliste. CSS-Color transparent
--smartmaps-mark-hover-bg Definiert die Hintergrundfarbe der Hervorhebung, die mit der Suchzeichenkette innerhalb der Ergebnisliste übereinstimmt, wenn sich die Maus darüber bewegt. CSS-Color transparent
--smartmaps-border Definiert den Rahmen des Eingabefelds und der Ergebnisliste. CSS-Border 1px solid rgba(0, 0, 0, 0.2)
--smartmaps-boxshadow Definiert den Schatten des Eingabefelds und der Ergebnisliste. CSS-Box-Shadow 0 5px 10px rgba(0, 0, 0, 0.2)
--smartmaps-font-size Definiert die Schriftgröße des Eingabefelds und der Ergebnisliste. CSS-Font-Size 14px