mapbox / mapbox/MapboxGeocoder.swift
Enumerate categories
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 133
- Forks
- 46
- PR merge metrics
- No merged PRs in 30d
Description
The Geocoding API has introduced experimental support for category search, which is analogous to MapKit’s MKLocalSearch/MKLocalSearchRequest API. The Geocoding API doesn’t currently support natural language queries; instead, you specify one of a number of predefined keywords as the query and pointOfInterest as the scope (and typically a focalLocation). An application can present the user with a series of buttons for common categories to search for, similar to the one in Apple’s Maps application.
Category search currently works without any modifications to this library. However, we can improve the feature’s discoverability by providing an enumeration of the supported categories. Since the set of categories is open-ended and subject to change, it’ll need to be an extensible string enumeration, similar to the profile identifiers exposed by MapboxDirections.swift. We should mark this enumeration with the - experimental documentation command until the “Preview” tag is removed from the API documentation.
/cc @frederoni @bsudekum
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the profile identifier enumeration pattern in MapboxDirections.swift and MBRouteOptions.h, then compare it with the Geocoding API’s category-search documentation. Done means exposing an extensible category string enumeration and marking it with the experimental documentation command until the API is no longer in Preview.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- api
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100