Launch Nokia Maps in Windows Phone 8 - 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));
}

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.

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

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.

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

Related

Google Maps for Cordova

I am planning to integrate google map feature for my Hybrid Mobile Application.
This is targeted for Android,iOS and Windows.
https://github.com/mapsplugin/cordova-plugin-googlemaps
Above cordova plugin only works for iOS and Android, what about windows phone ? Do I need to use deparate Javascript Web API's of google maps to integrate with Windows phone ?
Since I didn't build this yet before, what can I provide you is some tutorials and different threads.
Like the answer in this thread, what you want to achieve is technically possible, but it is not legal. So basically you need a 3rd party app for these to work.
You can use Bing Map Control to use Google Maps in Windows. This tutorial explains everything with sample code and screenshot for you to follow.
For more information check this link:
Windows Phone Doesn't Support Google Maps Because Google Doesn't Want It To
Getting Start With Google Map in Windows Phone 7

Windows Phone 8.1 HERE map API

I am trying to develop an app that access HERE map through its API to get the direction route using transit (not drive or walking) on WP8.1. When I go to HERE developer website, I didn't see the mobile SDK for windows phone. Is HERE maps API still support for WP8.1? Why can't I see HERE maps and its other apps (HERE drive+, HERE transit) in windows phone app store now? Has anyone tried HERE API in WP8.1 before?
The reason I want to use HERE maps API because the native WP8.1 map API does not return route in transit mode.
Thanks.
It was available 4-5 years ago but not anymore.

Usage Limitations for Google Maps Client Side API in a PhoneGap App

I have a PhoneGap application that has a Google Map view that drops pins for locations geo-encoded by Google Maps. I’m using the free client-side API since from my understanding each user that installs the app has his/her own usage limits (25k per day), that they will likely never exceed. The app is free, but I was paid to build the app.
If this goes to the app store am I breaking the law? I feel like a PhoneGap mobile application is a gray area since there is no server and no single IP that can abuse the service.
I'm not sure who you did pay.
Anyway, the Google Maps API TOS describes this at 9.1.2 Exceptions > Mobile Applications.
https://developers.google.com/maps/terms#section_9_1_2
(b) Mobile Applications.
(i) The rule in Section 9.1.1(a) (Free Access) does not apply if your Maps API Implementation is used in a mobile application that is sold for a fee through an online store and is downloadable to a mobile device that can access the online store.
And Google Maps API for work does not work on PhoneGap, because there is no domain.

Google Analytics UTM Tracking for Windows Phone

Is there a way to pass UTM information trough Google Analytics, similar to websites, iOS or Android? I'm using the Google Analytics SDK from CodePlex in a Windows Phone app, and I want to pass information like utm_source, utm_medium and utm_campaign?
So far all I've found is a way to set the "Campaign" property to the tracker. Is UTM available for windows phone?
GoogleAnalytics.EasyTracker.GetTracker().Campaign = "myCampaign";
GoogleAnalytics.EasyTracker.GetTracker().SendView("FirstPage");
The only solution was to add them manually in GoogleAnalyticsSDK from CodePlex. Now, you have the possibility to send parameters like CampaignName, CampaignSource, CampaignMedium, CampaignID in any Windows Phone app.

how to build windows phone 8 offline map load local data on map

I want to create a map which shows offline maps from local database like sqlite, also, I need to perform map operation on it, in windows phone 8. I am searching for the same on Google and I got something similar like mapbox sdk https://www.mapbox.com/developers/api/ but for android and iOS, not for windows phone 8. Could an body give me an idea about how to go for it?
You can use map downloader task for windows phone offline apps..
MapDownloaderTask mdt = new MapDownloaderTask();
mdt.Show();
For more reference, refer..
http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206984%28v=vs.105%29.aspx
What I do in NZ Topo Map is spin up a local web service in the app for the map to connect to and request tiles from locally using a StreamSocketListener.
In this service, which can be reached via a local url and port number (e.g. http:// 127.0.0.1:[port]/), you would then serve tiles up from within your app however you have them stored.
You need to create your own custom TileSource to add to the map which would request the map tiles from the local url you have wired up to your StreamSocketListener.