Search code examples
windows-phone-8launching-applicationhere-api

Launch Nokia Maps in Windows Phone 8


Problem

I want to launch Nokia Maps inside Windows Phone 8 but I can't find the URI scheme which would allow me to do this.

Nokia Maps doesn't seem to listen to their REST Api or url either. (While this does work in Windows Phone, it's not using the Nokia Map it uses the browers)

My eventual goal is to figure out all the things Nokia Maps can do (X to Y, center on a gps coordinate, label locations, etc), and access them through app launching.

I originally tried the bingmaps URI scheme:

http://msdn.microsoft.com/en-us/library/windows/apps/jj635237.aspx

However this did not work, as Windows Phone 8 does not have Bing Maps, and does not listen to the old Bing Maps schema. I did try "nokiamaps:" but no luck :)

Additional Information

In Windows Phone 8 it's pretty trivial to launch another app if you know the URI scheme:

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/Hh779672(v=win.10).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-4

If I could find documentation on their schema I'd be set!

TLDR

Can you solve the following problem: Fill in the empty string launchNokiaMaps to launch the Nokia Maps app.

private async void launch()
{
    string launchNokiaMaps = "";
    await Windows.System.Launcher.LaunchUriAsync(new Uri(launchNokiaMaps));
}

Solution

  • After investigation, I found the Uri:

    private async void launch()
    {
        string launchNokiaMaps = "explore-maps://v1.0/?latlon=56.615495,12.1865081&zoom=5";
        await Windows.System.Launcher.LaunchUriAsync(new Uri(launchNokiaMaps));
    }
    

    That will lauch the Nokia Maps app.

    However you should be careful with that because Nokia Maps is not necessarily installed on Windows Phone 8 devices. For example, HTC devices come with the default "Maps" app.

    So if you just want to open the default Maps app, you should use the MapsTask. That will work on every Windows Phone 8 device.