Windows Phone URI scheme protocol for HERE applications

Currently there are five different URI schemes specified for location applications. These are:

HERE applications are also subscribed to more generic WP URI schemes ms-walk-to and ms-drive-to for launching an application to display such directions. If there is only one application to handle the request, such as HERE Maps or Drive, then it should launch automatically. In case of multiple apps, a dialog is shown to the user for choosing which app to use to display the directions. For more information, see How to request driving or walking directions for Windows Phone 8 (MSDN).

Common parameters

All the URI scheme protocols defined below have an extra parameter called “appid” which identified the calling application for the purpose of tracking the T&C compliance. For information about how to obtain the Application ID, please see Adding the ApplicationID and AuthenticationToken (MSDN).

When constructing the URIs please make sure to add this parameter as follows:

  • If the constructed URI ends with “/”, add “?appid=<ApplicationIdString>”
  • If the constructed URI does not end with “/” (has other parameters already), add “&appid=<ApplicationIdString>”


  • public-transit://v2.0/search/stops/?appid=<ApplicationIdString>
  • directions://v2.0/route/destination/?latlon=60.1847853697836,24.5837861392647&origin.latlon=60.3022110555321,25.0254416931421&appid=<ApplicationIdString>

This parameter is not explicitly mentioned in each protocol’s specification, but you must add it to each constructed URI.

Parameter formats and encoding

As the protocol is an URL string based protocol, different parameters need to be formatted and encoded in a way that the handler application is expecting to receive them. Here is a summary on how different parameter types need to be formatted and encoded.

  • GeoCoordinate
    • Latitude/longitude pair separated with comma.
    • Latitude comes first, and longitude last.
    • Both values must comply with Double number specifications.
    • For example: "52.53,13.41".
  • BoundingBox
    • Four Double numbers separated by comma; order is North, West, South, East coordinates.
    • For example: "52.6755,13.76134,52.33812,13.08835".
  • Double
    • Each double number must have dot as a decimal separator.
    • To ensure this, please use InvariantCulture when converting double numbers to string.
    • For example: string doubleStr = doubleNum.ToString(System.Globalization.CultureInfo.InvariantCulture);
  • String
    • URL encoded string.
    • To ensure valid encoding, use the Uri.EscapeDataString() function for encoding all string parameters.
  • DateTime
    • 'Sortable date/time pattern' formatted date-time string.
    • To ensure correct format, please use ‘s’ argument with the toString function.
    • For example: string encodedTime = dateTimeVariable.ToString("s");

Last updated 4 December 2014

Back to top

Was this page helpful?

Your feedback about this content is important. Let us know what you think.


Thank you!

We appreciate your feedback.