How do I use the Google Maps API GPS sensor? - gps

All I've been able to find is how to specify the sensor parameter:
http://code.google.com/apis/maps/documentation/v3/#SpecifyingSensor
But nowhere does it say how to actually USE it. Isn't the whole point to be able to get the user's current lat/long coordinates through the device GPS, or am I mistaken?

That sensor parameter is only there to indicate to Google that you are using a GPS sensor to determine the user's location.
Unless using the W3C Geolocation API in browsers that support it, it remains your responsibility to get the latitude and longitude from your GPS device to the user's browser.

Related

Android, Getting inconsistency in User Current Location.?

I am new in android and wanna get user current location using GPS_PROVIDER, but every time getting different-different location how can I use Google Play Services. and what is the best way to get accurate location in android.
Thanks you.
In general there are two different types of locations available through the Android API.
One is the GPS-Location which only works outdoors and which has an accuaracy between 5m and 50m.
The other kind of location is the so called Network-Location which is a loaction measure based on Wifi Networks in you surrounding and GSM-Base-Stations which have a accuracy between 100m and 1500m. This localization technique also works indoors, because it only requires you smartphone to have network access. The accuaracy gets better in urban areas where a lot of Wifi and GSM-Base-Stations are located. The more GSM-Base-Station / Wifi hotspos are available the better is the accurarcy of the loation measurement. It can also get down to 5m.
When requesting such an location Google does internally some magic to compute the position. This request requires a internet connection (you don't need to explicitly give the permission). Interanally Android sends a request to a Google server which contains fingerprints of the surrounding GSM-Base-Stations and afterwards computes your location (if you are curious you can find the code here).
With GPS-bases location the location accurarcy is the same all over the world without any internet connection, but works only outdoors.
With my applications I implemented a logic which detects if GPS is present or not and if not I switched to network localization, this works fine.

How to get all GPS coordinates between start and end points on a route for Google Maps?

Is there a way online that I can use to get all the gps points on a route between two points on a Google Map? i.e, if I give starting point and destination point, I need to get all the GPS points on that particular route.
Everybody wants that, except the owner of that data. (TomTom/TeleAtlas via Google).
Normally you can't get that via an official api. There is or was a private web service from Google that sends the route compressed and decoded.
But legally you cannot get that data.
If you want such vector data (the coordinates) then you have to use OpenStreetMap via an Api like RouteMe.

Why does Google stipulate that you specify whether you are using a sensor in the maps API?

When retrieving the Google Maps API javascript, Google requires that you specify whether you are using a sensor or not with your application (e.g. sensor=false). Why is this? Is it simply a matter of data collection so Google can approximate how the API is being used, or does it actually modify what is returned in some instances?
Per the API, the sensor option is to determine if you are using a GPS-Enabled / location tracking device. The sensor=false maps are more light-weight since they don't handle this additional functionality. As you mentioned, the sensor=true maps handle device specific location tracking, etc.

Online map locator api like GPS

Google maps, ip location etc. working good.
But none of the services are locating a computer exactly where it is on a map.
Anyone know any api which can locate a computer on a map without user inputs.
I am tired of ip location, it is not at all exact and my client is not happy. :(
Thanks
Gobi
What you're trying to do is not possible without specialized hardware. Google maps on cell phones without GPS uses cell tower station information. Most other phones use actual GPS receivers. With neither of those, the only way for your network-attached computer to tell where it is is by looking at who owns its IP address, which is what the IP location stuff does. Unfortunately, that database has pretty low geographical resolution. If you really want accurate and precise location information, you have to have a GPS receiver.
This cant be done unless you have some GPS device connected to the computer. But I guess it is forbidden in the licence to use real time tracking in Google Maps, but I might be wrong.
There's one more way, but I don't know how practical it is: visible wifi networks. If your PC has wifi hardware then you can often correlate the list of networks that you can see to an approximate location based on databases of networks and position. This is how e.g. iPod touches can locate themselves, and iPhones when there's poor GPS reception in built-up areas.
But even if your end-user has wifi hardware and you can somehow read the network list from it then I'm not sure if there are public datasets for this though.
The W3C Geolocation API allows websites to request the user's best available location from the browser. In some cases this will use IP geolocation which you've already seen to be inaccurate, but it can sometimes do better.
The API is agnostic to the device and the method used to obtain location; on an iPhone, the Geolocation API may use cell tower triangulation, available WiFi network lookup or GPS satellite geolocation, or some combination. On Firefox or Chrome on the laptop, Google uses WiFi networks and IP address to give a location which is often much, much better than IP geolocation alone.
If you had a GPS attached to your computer, it's possible that your browser could take advantage of that too -- it's expected that future versions of Internet Explorer will support the W3C Geolocation API using the Windows 7 Location Platform, which can accept location from an attached GPS or manual entry or some other plugin.

J2ME location API (JSR 179) on non-GPS devices

The Java ME Location API says it supports:
Mobile Network based positioning.
GPS
Short Range Beacons
Quite a number of phones support this API (JSR179). However, some phones don't have an inbuilt GPS module, is it still possible to use this API to obtain the phone's current location?
Mobile Network based positioning.
The security settings will control if you can access this, the service provider may also make a charge.
From my very limited experience of J2ME, you can set the phone to not allow an app access to private data (such as location) and to charged for services (such as location) - you can also set it to popup a request for the user to authorize it.
J2ME is pretty well designed to gracefully fall back to whats available and hide a lot of the details.
Yes, some GPSless S60s (e.g. N70) give location through this API when used with an external GPS device attached via Bluetooth. Others may possibly give you approximate location using CellID.