mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 10:53:59 +00:00
refactor: own application request operations and surface caches
This commit is contained in:
1 parent
310809e8f1
commit
ac977bd8bc
53 files changed
+4388
-3317
No files matched your search
+4
-4
@@ -794,7 +794,7 @@ export async function searchAndFlyTo(viewer, query, options = {}) {
|
||||
let viewport = result?.viewport || null;
|
||||
|
||||
// Nearby landmark recovery retains precedence over a fallback geocoder hit.
|
||||
const recovered = await placesNearViewRecovery(
|
||||
const recovered = await (options.recoverNearView || placesNearViewRecovery)(
|
||||
viewer,
|
||||
query,
|
||||
result && !outcome.fallbackUsed ? { lat, lon: lng } : null,
|
||||
@@ -885,7 +885,7 @@ export async function searchAndFlyTo(viewer, query, options = {}) {
|
||||
|
||||
const shouldResolveBuilding = navigationMode === 'precise-place';
|
||||
const buildingBounds = shouldResolveBuilding
|
||||
? await resolveBuildingBounds(lat, lng, query)
|
||||
? await resolveBuildingBounds(lat, lng, query, options.boundaries)
|
||||
: null;
|
||||
const range = requestedRange || defaultRangeForNavigationMode(navigationMode);
|
||||
if (!mayFly()) return CANCELLED_SEARCH;
|
||||
@@ -1330,7 +1330,7 @@ function buildingPitch(bounds) {
|
||||
return -32;
|
||||
}
|
||||
|
||||
async function resolveBuildingBounds(lat, lon, query) {
|
||||
async function resolveBuildingBounds(lat, lon, query, boundaries = applicationServices.boundaries) {
|
||||
const overpassQuery = `
|
||||
[out:json][timeout:10];
|
||||
(
|
||||
@@ -1346,7 +1346,7 @@ async function resolveBuildingBounds(lat, lon, query) {
|
||||
const controller = new AbortController();
|
||||
const timeout = window.setTimeout(() => controller.abort(), 6000);
|
||||
try {
|
||||
const elements = await applicationServices.boundaries.query(overpassQuery, { signal: controller.signal });
|
||||
const elements = await boundaries.query(overpassQuery, { signal: controller.signal });
|
||||
return selectBuildingBounds(Array.isArray(elements) ? elements : [], lat, lon, query);
|
||||
} catch {
|
||||
return null;
|
||||
|
||||
Reference in new issue
Block a user