Launching Streets from third party apps

Streets can be launched from other apps by making use of custom URL schemes. This is useful to display panorama imagery for a given location or to create workflows that grab a panorama image and process it. The most basic example just opens the Streets app and shows a panorama for a given latitude,longitude:

The URL scheme is streets (or ftstreets in case of any ambiguity). The following GET query parameters are supported:

ParameterExample value *)PurposeAvailability
location (required)-23.442896,151.906584The location in latitude, longitude format of the requested Street View panorama.2.0+
heading (optional)336The viewing angle (north = 0)2.0+
pitch (optional)-4The vertical viewing angle (0 = looking straight to the horizon, negative value looking down, positive value looking up)2.0+
region (optional)-23.442896,151.906586,0.011927,0.010000The map region for the map shown before switching to the panorama. Format: center latitude, center longitude, latitude delta/span, longitude delta/span2.0+
title (optional)Heron IslandThe title of the location. It is displayed as the title of the map callout, the panorama callout and the panorama title bar.2.0+
pano (optional)CWskcsTEZBNXaD8gG-zATAThe Google panorama ID (panoid in Google Street View links).2.0+
action (optional)clipboardThe panorama image is copied to the clipboard.3.5+
x-success (optional)whereto://URL to get back to the originating application. The scheme has to be supported by your application. This URL will be called after a panorama image is copied to the clipboard. Only works in combination with action.2.0+
x-error (optional)whereto://?failure=1URL to get back to the originating application in case no panorama is found. The scheme has to be supported by your application. This URL is called instead of x-success immediately if no panorama is found for the location. Only works in combination with x-success and action.3.5+
*) Example values are shown here in non-encoded form. In the actual URL they have to be URL-encoded.

Creating Workflows

By returning panorama images via the clipboard, Streets can be used in powerful workflows. For instance, you can create a workflow that automatically adds panorama images for contacts, event locations or other places. We provide a sample workflow that lets the user select a contact and creates a new note with an image that consists of the street panorama at the left and a map on the right:

Create street panorama note
Create street panorama note
workflow.is

Feel free to modify the workflow to accomplish your specific needs, e.g. to share images on social networks. We’d love to hear from you what you have come up with!

Detecting if Streets is installed

You might want to disable linking to Streets if the app is not installed. Or you might instead want to open its App Store page (using an affiliate link you can even monetize this). This code will do it for you:

Calls to canOpenURL require an addition to your app’s Info.plist:

LSApplicationQueriesSchemes

Web links

As a fallback if Streets is not available you might want to link to a web page with an embedded Street View. The URL scheme is pretty similar: Just replace streets:// with https://www.streetsapp.net/streets. For example this link will display the Apple Store Opéra in Paris:
https://www.streetsapp.net/streets?pitch=7&title=Apple%20Store%20Opéra&location=48.872112,2.332977®ion=48.330605,2.062390,3.311491,3.164060&heading=60&pano=4mgeFbSLLMaDGxKdfHeq7Q
On iPhone and iPad this web page tries to open the native Streets app if installed.

Promoting your Streets enabled app

We’re glad to introduce apps making use of the Streets API on our blog. Just let us know. Also please contact us and explain your needs if you’re missing a certain API. We’re open to expand this API for new use cases.