From bfaacd813be434e4146e824c793aa4f73711a84a Mon Sep 17 00:00:00 2001 From: Markus Koch Date: Sun, 19 Apr 2020 23:09:26 +0200 Subject: [PATCH] Add street names to search --- htdocs/mapscript.js | 17 +++++++++++++++++ htdocs/streeteditor.js | 3 +-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/htdocs/mapscript.js b/htdocs/mapscript.js index abba88c..65f7ade 100644 --- a/htdocs/mapscript.js +++ b/htdocs/mapscript.js @@ -232,6 +232,14 @@ function toggle_search() { function htmlEntities(str) { return String(str).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); } + +function polyline_get_middle_coords(coords) { + var ret = [2]; + ret[0] = coords[0][0] + (coords[coords.length - 1][0] - coords[0][0]) / 2; + ret[1] = coords[0][1] + (coords[coords.length - 1][1] - coords[0][1]) / 2; + return ret; +} + var regex; function search(e) { var query = htmlEntities(document.getElementById("search_query").value); @@ -253,6 +261,15 @@ function search(e) { results.appendChild(el); } break; + case "LineString": + regex = new RegExp(query, 'i'); + if (item.feature.properties.name.match(regex)) { + el = document.createElement("li"); + zpos = polyline_get_middle_coords(item.feature.geometry.coordinates); + el.innerHTML = "[" + layers._layers[i].name + "] " + '' + item.feature.properties.name + ""; + results.appendChild(el); + } + break; default: break; } diff --git a/htdocs/streeteditor.js b/htdocs/streeteditor.js index 53f9b52..340a10a 100644 --- a/htdocs/streeteditor.js +++ b/htdocs/streeteditor.js @@ -78,8 +78,7 @@ if (editor_mode) { polyline.enableEdit(); if (interactive) { console.log(coords); - latlng = L.latLng(coords[0][0] + (coords[coords.length - 1][0] - coords[0][0]) / 2, - coords[0][1] + (coords[coords.length - 1][1] - coords[0][1]) / 2); + latlng = L.latLng(polyline_get_middle_coords(coords)); console.log("NEW=" + latlng); jump_to(latlng, 8); }