Post

Replies

Boosts

Views

Activity

Avoiding CPMapPanel overlap with maneuver cards during CarPlay navigation
I am developing a CarPlay navigation app using only public CarPlay APIs. During active turn-by-turn guidance, the app needs to keep the next planned charging stop visible and interactive so the driver can open it and review the remaining planned stops. The root template is a CPMapTemplate. The app starts a CPNavigationSession, supplies the current CPManeuver through upcomingManeuvers, and shows a CPMapPanel containing one interactive CPListItem for the next stop. let mapTemplate = CPMapTemplate() let session = mapTemplate.startNavigationSession(for: trip) session.upcomingManeuvers = [currentManeuver] let stopItem = CPListItem( text: "1. Charging stop", detailText: "4/6 available · 320 kW · 13% arrival" ) stopItem.handler = { _, completion in // Push a CPMapPanel containing the planned-stop hierarchy. completion() } let panel = CPMapPanel( title: nil, sections: [ CPMapPanelSection( title: nil, items: [CPMapPanelItem(listItem: stopItem)] ) ], buttonConfiguration: nil ) mapTemplate.showPanel(panel, completion: nil)On a wide CarPlay host, both the system-rendered maneuver/trip-estimate cards and the app's map panel occupy the leading side while a large trailing area remains free. CPMapPanel does not appear to expose a preferred side, layout priority, safe region, or collision policy. Changing the panel content and the navigation-bar buttons has not provided a vehicle-independent solution. Reproduction: Use a navigation-entitled app with a CPMapTemplate root. Start a trip and a native CPNavigationSession. Publish a CPManeuver in upcomingManeuvers. Show the interactive CPMapPanel above. Observe the system maneuver card, trip-estimate card, map controls, and map panel on a wide CarPlay host. Environment: Xcode 27.1 / iOS 27 SDK App build used for the latest vehicle reproduction: 69 A minimal UIKit/CarPlay/MapKit reproduction project is available and contains no credentials, user data, or third-party SDKs. Questions: Is a persistent interactive CPMapPanel supported while a CPNavigationSession displays maneuver guidance? Is there a documented layout contract that prevents a CPMapPanel from conflicting with system maneuver and trip-estimate cards across hosts? If panel placement is intentionally host-controlled, which public template or API is intended for a next-charging-stop entry that remains visible and interactive during guidance? Is CPMultiStopCardConfiguration in the ETA tray the intended architecture, even when the next stop should remain visible at a glance? Are there documented content or update-frequency limits that influence the panel layout? I do not want to use fixed coordinates, a custom touch overlay, or private APIs. The goal is a supported, driver-safe solution that works across different CarPlay hosts.
0
0
52
2d
Avoiding CPMapPanel overlap with maneuver cards during CarPlay navigation
I am developing a CarPlay navigation app using only public CarPlay APIs. During active turn-by-turn guidance, the app needs to keep the next planned charging stop visible and interactive so the driver can open it and review the remaining planned stops. The root template is a CPMapTemplate. The app starts a CPNavigationSession, supplies the current CPManeuver through upcomingManeuvers, and shows a CPMapPanel containing one interactive CPListItem for the next stop. let mapTemplate = CPMapTemplate() let session = mapTemplate.startNavigationSession(for: trip) session.upcomingManeuvers = [currentManeuver] let stopItem = CPListItem( text: "1. Charging stop", detailText: "4/6 available · 320 kW · 13% arrival" ) stopItem.handler = { _, completion in // Push a CPMapPanel containing the planned-stop hierarchy. completion() } let panel = CPMapPanel( title: nil, sections: [ CPMapPanelSection( title: nil, items: [CPMapPanelItem(listItem: stopItem)] ) ], buttonConfiguration: nil ) mapTemplate.showPanel(panel, completion: nil)On a wide CarPlay host, both the system-rendered maneuver/trip-estimate cards and the app's map panel occupy the leading side while a large trailing area remains free. CPMapPanel does not appear to expose a preferred side, layout priority, safe region, or collision policy. Changing the panel content and the navigation-bar buttons has not provided a vehicle-independent solution. Reproduction: Use a navigation-entitled app with a CPMapTemplate root. Start a trip and a native CPNavigationSession. Publish a CPManeuver in upcomingManeuvers. Show the interactive CPMapPanel above. Observe the system maneuver card, trip-estimate card, map controls, and map panel on a wide CarPlay host. Environment: Xcode 27.1 / iOS 27 SDK App build used for the latest vehicle reproduction: 69 A minimal UIKit/CarPlay/MapKit reproduction project is available and contains no credentials, user data, or third-party SDKs. Questions: Is a persistent interactive CPMapPanel supported while a CPNavigationSession displays maneuver guidance? Is there a documented layout contract that prevents a CPMapPanel from conflicting with system maneuver and trip-estimate cards across hosts? If panel placement is intentionally host-controlled, which public template or API is intended for a next-charging-stop entry that remains visible and interactive during guidance? Is CPMultiStopCardConfiguration in the ETA tray the intended architecture, even when the next stop should remain visible at a glance? Are there documented content or update-frequency limits that influence the panel layout? I do not want to use fixed coordinates, a custom touch overlay, or private APIs. The goal is a supported, driver-safe solution that works across different CarPlay hosts.
Replies
0
Boosts
0
Views
52
Activity
2d