Launch Nokia Maps in Windows Phone 8

2019-04-12 13:21发布

问题:

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));
}

回答1:

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.



回答2:

I couldn't find any information on if Nokia Drive subscribes to the new App2app protocols. However, the nokia based maps application has a task launcher that lets you do quite a bit. (Bing Map Task is depreciated)

MapsTask mapsTask = new MapsTask();

http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206989(v=vs.105).aspx

I would suggest implementing your own map control using the Maps API and get full control over the user experience.

http://www.developer.nokia.com/Resources/Library/Lumia/#!guide-to-the-maps.html

http://www.developer.nokia.com/Community/Wiki/What%27s_new_in_Windows_Phone_8



回答3:

Nokia have recently introduced a set of APIs specifically to launch HERE Maps on the device, as well as HERE Drive and HERE Transit.

The API documentation specifies the following use cases:

HERE Launchers are simple to use APIs which enable you to launch HERE applications from your own Windows Phone application, to perform services provided by those applications.

The API is compatible with Windows Phone 8 devices. Additionally the API requires the HERE applications implementing the services being present in the device. In case the API is used without the implementing application being present in the device, then the user will be forwarded to the Application store for obtaining the required application.

Currently there are three HERE applications which are providing the services implemented in the HERE launchers API: HERE Maps, HERE Drive, and HERE Transit.

HERE Maps, Drive, and Public Transport are available worldwide on all Nokia Lumia Phones, and they may be available for other Windows Phones via Windows Phone store.

Code examples (covering use cases such as the one displayed below) can be found here.



回答4:

In my blog I put some information that could be useful if you want to insert in your WP8 app the capability to start a navigation to a destination.

http://enzocontini.wordpress.com/2013/04/07/how-to-start-a-turn-by-turn-navigation-to-a-destination-from-your-windows-phone-app/

;-) Enzo Contini