- custom-layers.mjs: new 'path' layerType (LineStrings like GPX tracks/trails)
with a 'line' feature format, an example trails layer, and a seeded
Rogers County POI layer with real geocoded coordinates (museums, courthouse,
university, towns)
- osm-data.mjs: converts path features to GeoJSON LineStrings and tags
layerType='path' in the manifest; fixes kind detection for all three types
- MapView.svelte: styles path layers as dashed polylines, computes bounds for
LineStrings, supports 'path' in search results, and adds a Nominatim
'Places (online)' geocoding fallback section to the search box (debounced,
fit-to-bounds on select)
- geocode.ts: dependency-free Nominatim client
- README: documents path layers and online location search
- 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