Skip to content
This repository was archived by the owner on Aug 8, 2023. It is now read-only.
This repository was archived by the owner on Aug 8, 2023. It is now read-only.

Map feedback view controller #6001

@1ec5

Description

@1ec5

The “Improve This Map” item in the attribution action sheet opens the Map Feedback tool in the default Web browser. This Web application is difficult to use on a mobile device. Meanwhile, the SDK has a lot more context about the current view that could lead to more actionable feedback.

The SDK should vend a view controller that allows the user to fill out all the same information that the existing Map Feedback tool collects, but using native controls. Additionally, it could allow the user to select the problematic map feature from a map view using feature querying and send along the feature’s OpenStreetMap ID. Upon sending the feedback, the user would automatically be taken back to the map. This would be an improvement over the current workflow, which requires the user to manually return to the Mapbox-powered application.

This functionality would have to live in a view controller because MGLMapView could be arbitrarily small and incapable of hosting a complex form layout. We’d expose a method in MGLMapViewDelegate to give the map view’s host view controller the opportunity to choose between segueing to the feedback view controller or opening the existing tool in the default browser (useful for maps contained in embedded view controllers or other non-obvious configurations).

I’m keeping this ticket limited to iOS for the moment, because the view controller consideration is an important one on iOS. (On macOS, for instance, it’d trivial for a view to open a sheet or modal window large enough to host the entire feedback experience.)

/cc @mapbox/mobile

Metadata

Metadata

Assignees

No one assigned

    Labels

    MapKit parityFor feature parity with MapKit on iOS or macOSarchivedArchived because of inactivityfeatureiOSMapbox Maps SDK for iOS

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions