RtK

Ski trail list, detail, and dedicated trail map

Guests enter from home or the saved-trails empty state, filter by difficulty, open trail detail with linked lifts, then select a run on the topographic trail map.

Browse ski trails

Trail directory with all/open tabs and difficulty or summer-activity chips.

1 / 4

Implementation narrative

Problem

Brochure trail names are not enough on the mountain. Guests need length, elevation difference, open/closed status, and which lifts feed a run before they commit.

Solution

The ski trails directory offers all/open tabs and difficulty chips. Trail detail shows length, elevation difference, open status, linked ski lifts, and a map entry. The ski-trail map tab overlays trail geometry on Rosa topo and opens a bottom card for the selected run. Saved-trails empty state jumps back into the directory.

Resort systems supply trail and lift geometry, open/closed status, and schedules. The Mini Program `<map>` component renders markers and polylines; `MapContext.includePoints` frames the selected geometry. Personalized basemap styling uses a Tencent Location Services `subkey` with `layer-style`. Map and location coordinates use GCJ-02 where WeChat requires it (`wx.getLocation`).

<map id="resortMap"
  longitude="{{longitude}}"
  latitude="{{latitude}}"
  scale="{{scale}}"
  markers="{{markers}}"
  polyline="{{polyline}}"
  show-location
/>
const mapCtx = wx.createMapContext('resortMap')
mapCtx.includePoints({
  padding: [40, 40, 120, 40],
  points: trailPoints
})
Outcome
  • Browse ski trails: Trail directory with all/open tabs and difficulty or summer-activity chips.
  • Open trail detail: Trail detail with length, elevation difference, open status, linked lifts, and map entry. Caption focuses on list fields, not the placeholder map snippet.
  • Select a trail on the map: Ski-trail map tab with Rosa topographic basemap and a selected trail bottom card.
  • Empty saved trails: Favorites ski-trails empty state with jump back to the directory.

User flow