I would like to integrate a simple 'route to my store' using Google Maps MyLocation, for distribution through a mobile browser.
The perfect solution (from the end users viewpoint) would be - A plotted route from the Users GEO-Location, to a pre-configured POI (my store). That's it. I would like to avoid having the 'get directions' dialogue (it'll look squashy on a mobile device). Just a map with a start point, an end point and the route in between.
I'm not certain that this satisfies your goal of avoiding a "Get Directions" dialog, as it will certain involve an intermediate step by the user. But the dialog won't "look squashy" on a mobile device; indeed, it will be optimized for mobile viewing.
If you only plug in the daddr (destination address) coordinates to a map call, using the latitude and longitude of your store (or whatever location), Google Maps will try to set the start location to default to the user's "My Location" position if the device supports it, and otherwise will prompt the user to enter the start location. It will also allow the user to select which of the supported modes of transportation is desired (walk, bike, transit, or car).
This example plots the route from your location to the Martin Luther King, Jr. birth home in Atlanta:
https://maps.google.com/maps?daddr=33.755418,-84.371100
I tested this successfully on the following devices:
Windows 7 desktop using Chrome;
Windows 7 desktop using Firefox;
Windows 7 desktop using Internet Explorer;
Android phone with Jelly Bean OS using installed Google Maps app;
Android phone with Jelly Bean OS using the default browser;
Android phone with Jelly Bean OS using Chrome;
iPhone with iOS6 using the default browser.
Based on the consistency of the responses I got in those tests, I feel confident it would work in most, if not all, scenarios.
Related
Can we add focus to Markers of Google maps for Android TV app? can we move to the Marker using TV remote.
Are there Google Maps Api dedicated to Android TV.
Here is a documentation about how to handle hardware like TV.
TV hardware is substantially different from other Android devices. TVs
do not include some of the hardware features found on other Android
devices, such as touch screens, cameras, and GPS receivers. TVs are
also completely dependent on secondary hardware devices. In order for
users to interact with TV apps, they must use a remote control or game
pad.
This SO post also discuss how the user handled the Google Maps Geolocation API for Adroid TV.
So IP Address was used instead of Cell tower and Wifi access points. Because currently Geolocation is achievable using that options.
I am working to develop a web app that can utilize a GNSS receiver connected to a smart device to plot points of interest and display them on a map. I am trying to capture the enhanced location data that is being provided via the GNSS receiver. Connecting a GNSS receiver to an android phone or tablet, you have to enable mock locations on the device. The web app works while the GNSS unit is not connected, but once it connects, Chrome is unable to load any location at all, using either getcurrentposition() or watchposition(). The team I am working with thinks the browser might not recognize the units the GPS device is measuring (degrees minutes seconds as opposed to decimal degrees), but I am not so sure this is the case. The Google maps app works while a device is connected to the GPS unit, but maps.google.com does not, which makes me think this is a browser issue. I've also found other apps from the app store that are able to take readings from the device's mock locations. Not being able to use the improved accuracy of the GNSS unit limits the app to the GPS information the phone/tablet provides. Any thoughts about how I could make this work?
My question is how does google map or mobile GPS able to find mine current location ?
My high level understanding after reading this article is , GPS receiver gets the location coordinates through these satellites
and this location is further passed to Google Map(or any other client) API which then locates the exact location on map. Is it correct ?
Somewhere i also read that Mobile towers also plays the role. But my unserstanding is that this can be used to track the mobile location if required but mobile apps or Google maps
uses the satellite approach. Right ?
It's a bit inaccurate question to ask "How does google map location works", because Google Maps app (as well as any application leveraging google maps API) is just a consumer of location services on your device and is not used to determine the current location itself.
Because Google Maps is just an application, it can be run inside browser, or as native application. Depending on that, the way how it gets to your location information may also vary.
If you run the Google Maps from web browser (or WebView, or UIWebView,..) it usually uses HTML 5 geolocation API to determine your location and then use that to show your position on Google Maps. HTML5 geolocation then uses some lower level services to get your location, like GPS sensor, WIFI, network etc. There are already questions on how HTML 5 geolocation determines your position on SO, like this one or this one.
If your app is run as standalone application, it depends on your platform, your device sensors, your network,.. how the location is determined. So for example on Android with GPS sensor, LocationManager is used, which retrieves the location again using GPS, or from network provider, or returns last known location, etc. There's a lot of various interesting techniques behind this, which you can look up yourself (For example to determine your location using Wifi, Google has a database of WIFI SSIDs and their locations retrieved using anonymous device tracking and is able to roughly tell your location only from Wifi networks around you.)
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
I am using HTML5 Geo-location API for getting the GPS cordinates
navigator.geolocation.getCurrentPosition(geolocationSuccess,
[geolocationError],
[geolocationOptions]);
This is working in all version except Blackberry 9800. I am using the api in blackberry webworks . Could somebody help me out, whether blackberry 9800 supports the above api, or I have to do something else.
Or can anyone tell me any blackberry webworks extension for Geolocation.
That's the correct way to retrieve GPS coordinates in a BlackBerry WebWorks app.
Confirm that your device can retrieve GPS coordinates in general. If it works on some devices except one, then I think its a connectivity issue. Try this:
1) Open Settings --> Device --> Location Settings
2) Make sure the "Location Services" is set to 'On'.
3) Open the menu, and select "Refresh Location"
You should see the GPS coordinates populated in the 'Location' section of this screen. These values will be sent to the navigator.geolocation.getCurrentPosition() method. If these values remain empty, then your app will get empty values too.
Hope that helps.