googlemaps / googlemaps/flutter-navigation-sdk

[Feature request]: Map gesture & zoom controls on Android Auto & CarPlay

Open
#727 1 comment 0 reactions 1 assignee Claimed by @jokerttu View on GitHub
priority: p2 type: feature request
Dominant language
Dart
Stars
75
Forks
54
Avg merge
4d 2h
Merged PRs (30d)
5

Description

### Is there an existing issue for this?

- [x] I have searched the existing issues

### Use case

We use the Navigation SDK in an app that runs on the phone and on the head unit via Android Auto and CarPlay. On the phone we configure direct map interaction through the view settings (zoom, scroll, rotate, tilt gestures), and users can freely pan with a finger, pinch to zoom, rotate, and tilt the map.

On the head unit we'd like users to have that same kind of direct, hands-on map interaction. Google Maps itself on Android Auto supports rich touch interaction with the map — scrolling with a finger, pinch-to-zoom, rotating, and so on — so the platform is clearly capable of it, and it's what drivers and passengers have come to expect when they touch a map on the car screen.

In our experience the map interaction available on the auto/CarPlay surfaces is more limited and uneven than on the phone.

### Proposal

We'd love richer, user-driven map interaction on the Android Auto and CarPlay screens — panning/scrolling by touch, pinch-to-zoom, and where the platform allows it, rotation, tilt, and zoom controls — ideally consistent with how gesture settings already work on the phone navigation view.

We don't want to prescribe the implementation; you'll know far better than us what each platform permits and what's appropriate given car-projection and driver-distraction constraints. We're flexible on the shape — whether that's exposing the existing gesture settings (or a sensible subset) on the auto controller, improving the default interaction on the head unit, or another approach you'd recommend.

Roughly, the kind of usage we're imagining (illustrative only, mirroring the phone API):

```
final autoController = GoogleMapsAutoViewController();

// The kind of control we have on the phone today, that we'd love on auto:
await autoController.settings.setScrollGesturesEnabled(true);
await autoController.settings.setZoomGesturesEnabled(true);
await autoController.settings.setRotateGesturesEnabled(true);
await autoController.settings.setTiltGesturesEnabled(true);
```

A few questions we'd genuinely defer to you:

1. Which map gestures (scroll, zoom, rotate, tilt) and controls are supportable on Android Auto and on CarPlay while the map is projected, given the platform UX rules? Google Maps appears to support several of these, so we're hopeful.
2. If some are feasible, would you consider exposing them through the auto/CarPlay API, consistent with the phone view's gesture settings?
3. For any that aren't feasible or intended, a short note in the docs clarifying what's supported per platform would help us set expectations.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.