Turn-by-turn instructions

VERSION 0.2.1455
PUBLIC PREVIEW

The Navigation SDK for iOS is only available upon request. Contact us to get started.

Planning a route for turn-by-turn navigation requires that specific parameters be included in the request. An example of routing options that can be used for this purpose is as follows:

1let amsterdamCoordinate = CLLocationCoordinate2DMake(52.3764527, 4.9062047)
2let berlinCoordinate = CLLocationCoordinate2DMake(52.5069751, 13.3631919)
3
4let options = RoutingOptionsBuilder(origin: amsterdamCoordinate, destination: berlinCoordinate)
5 .with(instructionsType: .tagged)
6 .with(instructionAnnouncementPoints: .all)
7 .with(instructionPhonetics: .IPA)
8 .with(language: "en-GB")
9 .build()

The most important parameters are summarized below.

Instructions

To obtain guidance instructions, instructionsType needs to be set. Possible values are:

  • coded: returns raw instruction data without human-readable messages.
  • text: returns raw instructions data with human-readable messages in plain text.
  • tagged: returns raw instruction data with tagged human-readable messages to permit formatting.

If alternative routes are requested, instructions will be generated for each route returned.

Announcement points

The with(instructionAnnouncementPoints: AnnouncementPoints) method of RoutingOptionsBuilder specifies whether to include announcement points in instructions. Possible values are: * none: Do not include instruction announcement points. * all: Include instruction announcement points. If the method is called with value all, the instruction will include up to three additional fine-grained announcement points, each with its own location, maneuver type, and distance to the instruction point.

If the with(instructionAnnouncementPoints: AnnouncementPoints) method is not called on RoutingOptionsBuilder, instructions will not include any announcements.

Road shield references

The with(instructionRoadShieldReferences: RequestedRoadShieldReferences) method of RoutingOptionsBuilder specifies whether to include road shield references into the external road shields atlas. Possible values are: * none: Do not include instruction road shield references. * all: Include instructions for road shield references.

If the with(instructionRoadShieldReferences: RequestedRoadShieldReferences) method is not called on RoutingOptionsBuilder, instructions will not include any road shield references.

Phonetics

The with(instructionPhonetics: InstructionPhoneticsType) method of RoutingOptionsBuilder specifies whether to include phonetic transcriptions of street names, signpost texts, and road numbers in the instructions. In areas where phonetic information is not available, the result will not be returned. Possible values are:

  • none: Do not include phonetic transcriptions in the response.
  • LHP: Return phonetic transcriptions in the L&H+ format from Cerence Inc.
  • IPA: Return phonetic transcriptions in the IPA (International Phonetic Alphabet).

If the with(instructionPhonetics: InstructionPhoneticsType) method is not called on RoutingOptionsBuilder, instructions will not include any phonetic transcriptions.

Vehicle heading

When driving, it’s important to request a route in a specific direction. For that purpose, the vehicleHeading parameter should be used. It describes the directional heading of the vehicle, in degrees starting at true North and continuing in a clockwise direction:

  • North is 0 degrees.
  • East is 90 degrees.
  • South is 180 degrees.
  • West is 270 degrees.

Route sections

The sectionTypes parameter specifies which of the section types are included in the route response. More details about available route sections can be found in the Sections document.

To get the best turn-by-turn experience, it’s required to include the following sections when planning a route: