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) => voidFü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 |