mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 10:24:02 +00:00
feat(search): Nominatim as the last-resort geocoder (#573)
Supersedes #350 by @sendmebits, ported onto the current component layout with fixes from review. Verified before merge: format, package boundaries, unit suite, build, and the browser tracking suite; a browser harness for the change where one applies; adversarial review applied. Co-authored-by: sendmebits <[email protected]>
This commit is contained in:
1 parent
cca6442997
commit
7fa0cfbb26
15 files changed
+1077
-48
No files matched your search
@@ -144,6 +144,28 @@ of current runtime behavior, see [`docs/CURRENT-STATE.md`](docs/CURRENT-STATE.md
|
||||
skip, so this affects every Overpass-backed layer: Mapped Installations,
|
||||
traffic roads and annotation geometry. Mirror rotation, cooldown and cache
|
||||
admission are unchanged (#420 — thanks @GladiatorrX9).
|
||||
- Place search has a last resort. With no Google Maps key, and when Photon does
|
||||
not answer, a named-place search now falls back to OpenStreetMap's Nominatim
|
||||
through `/api/geocode`, so search and voice fly-to still work on a keyless
|
||||
globe. The route keeps to the service's usage policy: an identifying
|
||||
User-Agent and Referer, at most one request per second, answers cached, one
|
||||
upstream call shared between identical searches in flight, a bounded queue so
|
||||
a burst is refused rather than held, and a queued search dropped once its
|
||||
caller has given up (#350 — thanks @sendmebits).
|
||||
|
||||
- Regional upstream reads now hold their deadline through the response body. The
|
||||
abort timer was cleared as soon as the headers arrived, so an upstream that
|
||||
answered and then stalled mid-body had no deadline at all. Redirect policy is
|
||||
now stated per call rather than inherited, and the fixed Nominatim endpoints
|
||||
refuse to be redirected.
|
||||
|
||||
- The location search box answers two kinds of query without a network request
|
||||
or an API key. A decimal-degree coordinate — `43.1731, -79.0384`, or either
|
||||
order when N/S/E/W say which is which — flies straight there; a bundled city
|
||||
or landmark name typed exactly (`paris`, `sf`, `Golden Gate Bridge`) flies to
|
||||
the bundled place. Anything else, including anything malformed, goes to the
|
||||
existing geocoders unchanged. Degrees/minutes/seconds and grid references are
|
||||
not parsed and fall through the same way (#388 — thanks @KuraPiee).
|
||||
|
||||
- Draped annotation geometry — area fills and outlines, routes and arrows —
|
||||
classifies onto terrain as well as 3D tiles. On a keyless boot, where Cesium's
|
||||
|
||||
Reference in new issue
Block a user