MGLMapView should publicly expose the methods it uses to track the user’s location or course and position the user dot or user puck. A subclass can override methods such as -didUpdateLocationWithUserTrackingAnimated: for its own needs.
A common use case for MGLMapView is to turn on course tracking mode and add a route line as a polyline annotation. Ideally, the user puck would snap to that line, sliding along it. MGLMapView could provide an API by which an application could designate a particular polyline annotation as the line to slide along. But there are other use cases that require fine-grained custom behavior, such as navigation simulation, so we should instead add open-ended customization hooks.
First, we should perform any necessary refactoring and cleanup of user tracking, because it’ll be very difficult to refactor this logic after it becomes part of the public API.
/ref #5645
/cc @bsudekum @boundsj @friedbunny
MGLMapView should publicly expose the methods it uses to track the user’s location or course and position the user dot or user puck. A subclass can override methods such as
-didUpdateLocationWithUserTrackingAnimated:for its own needs.A common use case for MGLMapView is to turn on course tracking mode and add a route line as a polyline annotation. Ideally, the user puck would snap to that line, sliding along it. MGLMapView could provide an API by which an application could designate a particular polyline annotation as the line to slide along. But there are other use cases that require fine-grained custom behavior, such as navigation simulation, so we should instead add open-ended customization hooks.
First, we should perform any necessary refactoring and cleanup of user tracking, because it’ll be very difficult to refactor this logic after it becomes part of the public API.
/ref #5645
/cc @bsudekum @boundsj @friedbunny