Enhance geocoding service and frontend search functionality. Refactor geocoding logic to improve postal code handling and response parsing. Update frontend searchPlaces function to include postal code in results display and adjust input validation. Modify CSS for improved search results styling.
This commit is contained in:
@@ -758,7 +758,7 @@ function toggleWarningsOnMap() {
|
||||
}
|
||||
|
||||
async function searchPlaces(query) {
|
||||
if (query.length < 2) {
|
||||
if (query.length < 2 || (/^\d+$/.test(query) && query.length < 4)) {
|
||||
el("searchResults").classList.add("hidden");
|
||||
return;
|
||||
}
|
||||
@@ -767,7 +767,7 @@ async function searchPlaces(query) {
|
||||
const results = data.results || [];
|
||||
el("searchResults").innerHTML = results.length ? results.map((r, i) => `
|
||||
<li role="option" data-index="${i}">
|
||||
<strong>${r.place}</strong>
|
||||
<strong>${r.place}${r.postcode ? ` (${r.postcode})` : ""}</strong>
|
||||
<span>${r.label}</span>
|
||||
</li>
|
||||
`).join("") : `<li class="muted">Keine Treffer</li>`;
|
||||
@@ -776,6 +776,7 @@ async function searchPlaces(query) {
|
||||
item.addEventListener("click", () => {
|
||||
const r = results[Number(item.dataset.index)];
|
||||
setLocation({ place: r.place, lat: r.lat, lon: r.lon });
|
||||
el("placeSearch").value = r.postcode || r.place;
|
||||
el("searchResults").classList.add("hidden");
|
||||
loadAll();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user