Skip to main content

Release v1.13.0

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

Better Navigation UI with Track Arrows

v1.13.0 makes navigation routes clearer with directional arrows along your track. Plus: a new helper for displaying user location, Android stability fixes, and better cross-platform API parity.

Track Arrows: See Where You're Going

Navigation routes can be hard to follow on a map, especially when the path curves or maneuvers aren't obvious. Track arrows solve this by rendering directional indicators along your route.

New in 1.13.0: GLMapTrackArrow draws directional arrows as part of the track line — complete with head, middle, and tail segments. The arrows flow naturally with the route geometry, making it immediately clear which direction the route goes.

Why this matters:

  • Clearer navigation — Users instantly see which way the route flows
  • Better maneuver visibility — Turn directions are obvious even before reaching them
  • Works for any track — Navigation routes, recorded tracks, hiking trails, delivery routes

The rendering is efficient (arrows are drawn as styled lines with casing + head images) and works seamlessly with existing GLRoute and track rendering code.


GLMapUserLocation Helper

Displaying the user's current position is one of the most common map features. GLMapUserLocation is a new helper class that handles this out of the box — less boilerplate to get a blue dot on screen with proper styling and updates.


Android Stability & Cross-Platform Parity

  • Fixed deadlock on Android — animation and rendering thread synchronization issue resolved
  • Fixed crash in triangulation — edge case in geometry processing
  • Fixed data races in scale ruler — thread-safe updates
  • GestureDetector rewrite — cleaner gesture handling, removed legacy state machine
  • Android API improvements — better parity with iOS (route builder methods, normalized Javadoc)

Under the Hood

  • Shader optimizations (OpenGL ES 3.0 → 2.0 auto-translation, better compilation caching)
  • Updated world map (world.vm) with February 2026 OSM data
  • Updated AGP, NDK, and CMake for Android
  • Fixed memory leaks in custom function callbacks (iOS)
  • Improved error handling for map downloads

Breaking Changes & Migration

iOS

User Location API

The old manual user location API has been replaced with GLMapUserLocation helper:

// 1.12.0
map.setUserLocationImage(locationImage, movementImage: movementImage)
map.showUserLocation = true
map.locationManager(manager, didUpdateLocations: locations)

// 1.13.0
let userLocation = GLMapUserLocation(drawOrder: 100)
userLocation.add(toMap: map)
locationManager.delegate = userLocation

The new helper handles location updates, accuracy circles, and image management automatically.

Track API

// 1.12.0
track.setTrackData(trackData, style: style)

// 1.13.0
track.setData(trackData, style: style)

Image API

// 1.12.0
image.setImage(img, for: map)

// 1.13.0
image.setImage(img)

Android

Animation API

// 1.12.0
renderer.animate(animation -> {
animation.setFlyToMode(GLMapAnimation.FlyToMode.Enabled);
renderer.setMapCenter(point);
});

// 1.13.0
renderer.animate(animation -> {
animation.flyToPoint(point);
// or use animation.setContinueFlyTo(true)
});

Questions? Reach out at [email protected].