Last update: 4/2024
When clicking a feature on map (useOnMapClicked
), we only get skeleton. That is a feature without tags, only with a few properties computed by our MVT tiles provider. We get name
, class
and subclass
.
Note: class
and subclass
is used to display icons on the map, and osmapp mirrors this behaviour in getPoiClass()
so we can generally show the same icons as the webgl map.
After user clicks a POI on the map, the skeleton is shown immediately in FeaturePanel and loading indicator starts spinning.
This is done by next.js extension getIntitialProps
on the App
component. It is run on server-side if correct URL is loaded (SSR), or later in the browser.
- getInitialFeature() – special getCoordsFeature() can be dispatched
- fetchFeature() - gets the data
- fetchFeatureWithCenter()
- for ways and relations we ask overpass to fill in the
center
prop, so we save some data - osm data is converted to osmapp
Feature
type byosmToFeature()
– compatible with GeoJSON spec addSchemaToFeature()
adds the iD presets and fields (we also fetch freshfetchSchemaTranslations()
). iD schema is still experimental, if this fails, osmapp will show just tags.
- for ways and relations we ask overpass to fill in the
addMembersAndParents()
– currently switched on only for select features