Skip to main content

Release v1.11.0

· 2 min read
Evgen Bodunov
Evgen Bodunov
CEO @ Globus Software

Turn Lanes in Valhalla Response

We have added lane information to GLRouteManeuver:

/// Number of lanes
@property(readonly) NSUInteger lanesCount;

/// Returns possible turn directions for a specific lane.
/// @param index The index of the lane (starting from 0).
/// @return A mask indicating all valid turn directions for the lane.
- (GLRouteTurnLaneMask)turnDirectionsAtLine:(NSUInteger)index;

/// Returns valid turn directions for a lane that can be used to follow the route initially.
/// Valid turns indicate that the lane is suitable for the maneuver but may require further lane changes later.
/// @param index The index of the lane (starting from 0).
/// @return A mask indicating valid turns for the lane.
- (GLRouteTurnLaneMask)validTurnAtLine:(NSUInteger)index;

/// Returns active turn directions for a lane that should be used to follow the route without requiring additional lane changes.
/// Active turns indicate the optimal lane for continuing along the route as intended.
/// @param index The index of the lane (starting from 0).
/// @return A mask indicating active turns for the lane.
- (GLRouteTurnLaneMask)activeTurnAtLine:(NSUInteger)index;

Create GLRoute from JSON

If you have received a Valhalla response in JSON format, you can use it to create a GLRoute and then use GLRouteTracker for navigation along that route.

Creating a GLRoute from JSON is a logical extension of the method +[GLRouteRequest offlineAction:(NSString *)action request:(NSString *)request config:(NSString *)config startPoint:(GLMapGeoPoint)startPoint error:(NSError **)error], which accepts a request and returns the JSON response.

GLRouteTracker Works with Alternative Maneuvers

A route in GLRoute can include both the main route and alternative routes. To accurately determine when the user has passed a junction or switched to an alternative route, new methods have been added to GLRouteTracker.

/// Checks if the user has passed the specified route.
/// @param routeIndex The index of the route.
/// @return YES if the user has passed the route, NO otherwise.
- (BOOL)didPassRoute:(NSInteger)routeIndex;

/// Current route index. Can be changed when the tracker detects that the user moves along another route.
@property(assign) uint8_t currentRoute;

Breaking changes

GLMapTapGestureBlock gesture handler block shouldn't return BOOL anymore. It's required only for GLMapPanGestureBlock to handle pan gestures correctly. Sorry for troubles.

Release v1.10.0

· One min read
Evgen Bodunov
Evgen Bodunov
CEO @ Globus Software

Map Pitch

You can set the map’s pitch in degrees in GLMapView using the setMapPitch method.

When following directions, a tilted map perspective can be more intuitive than the traditional overhead view. This perspective simulates what a traveler sees when looking at the road ahead, making navigation more user-friendly and realistic.

Breaking Changes

The type of GLMapGestureBlock has been changed to: typedef BOOL (^GLMapGestureBlock)(PlatformGestureRecognizer *gestureRecognizer);

To receive the location of a tap, call [gestureRecognizer locationInView:view]. Additionally, you should return YES if the tap is handled and NO otherwise.