Re-enable osm source in all cases, fix #1798

This commit is contained in:
Pieter Vander Vennet 2024-02-24 21:05:46 +01:00
parent c6a69b35cd
commit 760276922d
3 changed files with 24 additions and 24 deletions

View file

@ -57,18 +57,7 @@ export default class LayoutSource extends FeatureSourceMerger {
const nonMvtLayers = osmLayers.filter((l) => !mvtAvailableLayers.has(l.id)) const nonMvtLayers = osmLayers.filter((l) => !mvtAvailableLayers.has(l.id))
const isLoading = new UIEventSource(false) const isLoading = new UIEventSource(false)
if (nonMvtLayers.length > 0) {
console.log(
"Layers ",
nonMvtLayers.map((l) => l.id),
" cannot be fetched from the cache server, defaulting to overpass/OSM-api"
)
const overpassSource = LayoutSource.setupOverpass(
osmLayers,
bounds,
zoom,
featureSwitches
)
const osmApiSource = LayoutSource.setupOsmApiSource( const osmApiSource = LayoutSource.setupOsmApiSource(
osmLayers, osmLayers,
bounds, bounds,
@ -77,7 +66,19 @@ export default class LayoutSource extends FeatureSourceMerger {
featureSwitches, featureSwitches,
fullNodeDatabaseSource fullNodeDatabaseSource
) )
nonMvtSources.push(overpassSource, osmApiSource) nonMvtSources.push(osmApiSource)
let overpassSource: OverpassFeatureSource = undefined
if (nonMvtLayers.length > 0) {
console.log(
"Layers ",
nonMvtLayers.map((l) => l.id),
" cannot be fetched from the cache server, defaulting to overpass/OSM-api"
)
overpassSource = LayoutSource.setupOverpass(osmLayers, bounds, zoom, featureSwitches)
nonMvtSources.push(overpassSource)
supportsForceDownload.push(overpassSource)
}
function setIsLoading() { function setIsLoading() {
const loading = overpassSource?.runningQuery?.data || osmApiSource?.isRunning?.data const loading = overpassSource?.runningQuery?.data || osmApiSource?.isRunning?.data
@ -86,8 +87,6 @@ export default class LayoutSource extends FeatureSourceMerger {
overpassSource?.runningQuery?.addCallbackAndRun((_) => setIsLoading()) overpassSource?.runningQuery?.addCallbackAndRun((_) => setIsLoading())
osmApiSource?.isRunning?.addCallbackAndRun((_) => setIsLoading()) osmApiSource?.isRunning?.addCallbackAndRun((_) => setIsLoading())
supportsForceDownload.push(overpassSource)
}
const geojsonSources: UpdatableFeatureSource[] = geojsonlayers.map((l) => const geojsonSources: UpdatableFeatureSource[] = geojsonlayers.map((l) =>
LayoutSource.setupGeojsonSource(l, mapProperties, isDisplayed(l.id)) LayoutSource.setupGeojsonSource(l, mapProperties, isDisplayed(l.id))

View file

@ -87,6 +87,7 @@
if (snapToLayers?.length > 0) { if (snapToLayers?.length > 0) {
const snapSources: FeatureSource[] = [] const snapSources: FeatureSource[] = []
for (const layerId of snapToLayers ?? []) { for (const layerId of snapToLayers ?? []) {
// We assume that the layer contains the data, as the OSM-API-Feature-source should have loaded them, even though the layer might not be displayed
const layer: FeatureSourceForLayer = state.perLayer.get(layerId) const layer: FeatureSourceForLayer = state.perLayer.get(layerId)
snapSources.push(layer) snapSources.push(layer)
if (layer.features === undefined) { if (layer.features === undefined) {

View file

@ -66,7 +66,7 @@
if (!rangeIsShown) { if (!rangeIsShown) {
new ShowDataLayer(map, { new ShowDataLayer(map, {
layer: new LayerConfig(boundsdisplay), layer: new LayerConfig(<any> boundsdisplay),
features: new StaticFeatureSource([ features: new StaticFeatureSource([
turf.circle(c, maxDistanceInMeters, { turf.circle(c, maxDistanceInMeters, {
units: "meters", units: "meters",