Finally one of the things I personally (and I know loads of other developers) have been awaiting for ages has arrived.
Here at Nokia, we’ve had great maps with our devices for many years, but in general if you wanted to use maps in your own application, you had to code it in. And if you wanted it to do something really great, it often meant that you needed to have rather good programming skills. You could do simple routing with just few lines of code though, but implementing a real voice guided navigation was not a trivial task.
Our devices have had really excellent Drive navigation for years now as well—for me it’s really the must have application—and I use it many times daily, saving hours of time when finding ways to new places without effort. Anyway, the application is there, but you couldn’t use the services it provides from your app. So if you wanted to get the user to go to your special locations, there was no nice, easy solution available.
At least, not until now.
HERE Launchers are here now to solve this problem. They are really easy to use. Basically anybody who can code any simple “Hello World” app with Windows Phone 8 tools, can also easily add the couple of lines of code to include fully functioning Drive navigation in their own application. And as it is using the ready-made HERE Drive, you would not need to worry about the quality of the service or UIs, as they are all fantastic and readily available without any additional development, and with minimal testing.
In general, with navigation all you need to know is the location where you want to go. You can get the location with geo services provided, or you could take it from any Maps API calls you would use in your application. For example if you want to have a Map and have Drive-navigation to the place in center of the map view, all you would need to do is these three lines:
GuidanceDriveTask driveTo = new GuidanceDriveTask(); driveTo.Destination = new GeoCoordinate(map1.Center); driveTo.Show();
After which the Drive application would be launched.
If your user decides to change modes and walk there instead, all you would need to do is to change the class you are using there, and do it like this instead:
GuidanceWalkTask walkTo = new GuidanceWalkTask(); walkTo.Destination = new GeoCoordinate(map1.Center); walkTo.Show();
These three lines would then open the HERE Maps, with walk navigation started to the selected destination.
Of course these are just two use cases for the HERE launchers API. There are plenty of other possibilities. And there is another HERE application providing services to you; HERE Transit also has own launchers API, with which you can make journeys to selected places via local public transit.
So, share my excitement and check out the documentation for the HERE launchers located in the Lumia Documentation Library at Nokia Developer. All the source code is available at the Nokia Developer Projects site.
Note that the launchers are available as open source projects, so you can see how they work inside. You will find that they are using the Windows Phone 8 URI schemes for launching the apps.
The URI scheme for the launchers is also documented in the Lumia Documentation Library. If you want to use them directly, remember to check the correct locale-independent formatting for the parameters from the documentation.