forked from MapComplete/MapComplete
		
	Add blacklist of ids to geojson source in order to avoid duplicate features to be loaded multiple times
This commit is contained in:
		
							parent
							
								
									fdcda66e5c
								
							
						
					
					
						commit
						36d62f9923
					
				
					 2 changed files with 28 additions and 2 deletions
				
			
		|  | @ -37,6 +37,8 @@ export default class DynamicGeoJsonTileSource extends DynamicTileSource { | |||
|             console.warn("No whitelist found for ", layer.layerDef.id, err) | ||||
|         }) | ||||
| 
 | ||||
|         const seenIds = new Set<string>(); | ||||
|         const blackList = new UIEventSource(seenIds) | ||||
|         super( | ||||
|             layer, | ||||
|             source.geojsonZoomLevel, | ||||
|  | @ -50,8 +52,15 @@ export default class DynamicGeoJsonTileSource extends DynamicTileSource { | |||
|                  | ||||
|                 const src = new GeoJsonSource( | ||||
|                     layer, | ||||
|                     zxy | ||||
|                     zxy, | ||||
|                     { | ||||
|                         featureIdBlacklist: blackList | ||||
|                     } | ||||
|                 ) | ||||
|                 src.features.addCallbackAndRunD(feats => { | ||||
|                     feats.forEach(feat => seenIds.add(feat.feature.properties.id)) | ||||
|                     blackList.ping(); | ||||
|                 }) | ||||
|                 registerLayer(src) | ||||
|                 return src | ||||
|             }, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue