3D Maps, iOS Metal, Kotlin & Swift APIs in Mobile Maps SDK v10 Beta (Android + iOS)

Tom Lee
No items found.

Jan 27, 2021

3D Maps, iOS Metal, Kotlin & Swift APIs in Mobile Maps SDK v10 Beta (Android + iOS)

Tom Lee

Guest

No items found.

Guest

Jan 27, 2021

The Mapbox Mobile Maps SDK v10 is now available in beta, bringing 3D maps to Android and iOS via all-new terrain, camera, and sky APIs. The renderer and SDK architecture in v10 supports Metal on iOS, improves performance, provides a robust API for faster development and greater stability, and offers first-class support for Kotlin on Android and Swift on iOS. Developers can start building mobile apps with the Maps SDK v10 beta today.

New core renderer

Last month we launched new 3D terrain, camera and sky capabilities for Mapbox GL JS v2. These technologies are available on native mobile platforms as part of v10. Interactivity and features like markers, roads and labels respond automatically, with smart default behavior. The map's maximum pitch is now increased from 60 to 85 degrees, allowing maps to leverage the Sky API to style the sky, with control over both sun position and atmospheric hue.

Metal on iOS

The new rendering architecture in v10 allows for pluggable backends, including support for Metal, Apple's low-level 3D graphic and shader API on iOS. All layer types are now automatically compiled to their respective OpenGL or Metal primitives with 1:1 accurate rendering results between the two. Apps can deploy Mapbox maps to Android and iOS with consistent visual results while leveraging the native rendering layer for full OS-level performance optimizations. Developers will see 25-35% faster map load times on iOS when using Maps SDK v10.

Performance optimizations for low-end Android devices

The new Maps SDK introduces caching and handling of transactions to map data I/O targeted specifically at slower storage media that is widely used in lower-end Android devices. By optimizing I/O for these devices, Maps SDK v10 provides a 60% improvement in direct map data read speeds, resulting in 25-40% faster map loads across all major Android devices.

Reduced network footprint

Previously, all map labels had to be rendered with fonts retrieved over the network. For languages with large character sets, this comprised a meaningful portion of the data needed to draw the map. v10 adds support for local glyph rendering, giving developers the option to generate the SDF textures for map labels using default fonts already available on device. In places like Tokyo, this reduces map load bandwidth by as much as 18%.

High performance tracking, rendering, and data filtering for Navigation

The user location indicator has been rewritten with a new core layer to optimize rendering performance for fast-updating position data. Additional rendering improvements for Navigation include a stabilizer for label positions when following a route and a new tile loading algorithm that improves efficiency with tilted map views.

Maps SDK v10 adds refactored distance and within expressions that can be used to easily filter features along a routeline. Developers can leverage these filters to easily highlight only major intersections or prioritize POIs along the way to a driver's destination.


"filter": [
  "case",
  ["<", ["distance", geoJsonObject], 50],
  true,
  false
]

Faster development with Kotlin and Swift

v10 has been designed to make application development faster and more intuitive. On Android, we’re embracing Kotlin. On iOS, we’re embracing Swift.

Maps SDK v10 automates object lifecycle handling, reducing the amount of code developers write and ending potential sources of bugs. Every exception from the native engine is now wrapped by the SDK, eliminating a significant source of instability and giving developers more insight when debugging their code.

Working with map Style and Layer APIs has gotten easier. A new domain-specific language (DSL) makes the experience of updating map styles intuitive across platforms and driven by the Mapbox Style Specification itself. The task of writing expressions will now be familiar and comfortable for any developer who’s worked with the native JSON of the Mapbox Style Specification.

Pricing and terms

Like all Mapbox services, our iOS and Android mobile SDKs are available to developers on a pay-as-you-go basis—no commitments needed. Developers just need a Mapbox account and access token to get started. v10’s pricing is the same as earlier versions of our mobile SDKs, including our generous free tier, making the decision to upgrade an easy one. Please note that beginning with v10, mobile MAU counts used for billing will be calculated on the basis of SDK use, regardless of whether other Mapbox data or services are used.

Available now

We’re excited to share v10. To begin using the beta, head to the v10 product page and check out the Getting Started Guide, Migration Guide and API Documentation.

No items found.
No items found.


Related articles