- src/lib/search.ts: dependency-free fuzzy search engine that matches POIs and zones by name/address with text normalization (st->street, compass words), substring + Levenshtein fuzzy matching, and field-aware ranking - MapView.svelte: builds a searchable index from loaded layers, adds a search box that shows ranked results, pans/zooms + opens popup on select, and renders dedicated popup rows for address, Facing (compass), and Field of view - custom-layers.mjs: documents optional address / bearing / fov POI fields with examples; osm-data.mjs normalizes bearing (compass point or degrees) into degrees and carries the new properties through to GeoJSON - README: documents POI data fields and the search feature
33 lines
621 B
JSON
33 lines
621 B
JSON
[
|
|
{
|
|
"name": "tulsa",
|
|
"label": "Tulsa, Oklahoma",
|
|
"category": "osm",
|
|
"bbox": [
|
|
35.9,
|
|
-96.1,
|
|
36.3,
|
|
-95.7
|
|
],
|
|
"featureCount": 462,
|
|
"path": "/data/tulsa.geojson"
|
|
},
|
|
{
|
|
"name": "my-places",
|
|
"label": "My Places",
|
|
"category": "custom",
|
|
"layerType": "poi",
|
|
"color": "#e11d48",
|
|
"featureCount": 4,
|
|
"path": "/data/custom/my-places.geojson"
|
|
},
|
|
{
|
|
"name": "districts",
|
|
"label": "Districts",
|
|
"category": "custom",
|
|
"layerType": "zone",
|
|
"color": "#0ea5e9",
|
|
"featureCount": 2,
|
|
"path": "/data/custom/districts.geojson"
|
|
}
|
|
] |