Skip to content
moving-bits edited this page Dec 6, 2023 · 3 revisions

WIP (in preparation for UnifiedMap)

This page tries to document the different usages / calling scenarios for our map.

In contrast to today's implementation plan is to explicitly define the desired behavior by stating a separate MAPSTATE_TYPE for each scenario instead of "guessing" desired behavior by the fields being used. (It may have been different in the beginning, but nowadays a lot of guessing is involved.) (Values for UnifiedMapTypeType will be added when implementation of map state for UnifiedMap starts.)

scenario UnifiedMapTypeType calling path additional info actions
default map UMTT_PlainMap start via bottom navigation no additional data given display map with last coords and last zoom level
cache map UMTT_TargetGeocode start from cache popup/detail page via navigate => map (set cache/waypoint as target) geocode set cache coords as center, set cache as target
address map UMTT_TargetCoords start from address search via map icon coords set coords as center, use last zoom level
cache list map UMTT_TargetSearchResult start from cache list via map icon set of geocodes (TBD: or just list id?) adjust zoom level to display all caches in given list
waypoint map UMTT_TargetGeocode start from waypoint list via navigation icon (set waypoint as target) geocode set waypoint coords as center, use last zoom level

(to be continued)

Additional remarks:

  • Additional fields may be filled with data for lifecycle handling of the map, but UnifiedMapTypeType should remain unchanged in this case. (Maybe we need some "override" flag for this specific case to preserve zoom level etc.)
  • Unsure whether flags like followMyLocation, showCircles, liveEnabled or storeEnabled must be part of map state or whether they can be retrieved from settings
Clone this wiki locally