How can we detect location without GPS or WiFi? - android

We have an interesting use case where the intended device does not have GPS embedded in it. Nor will it be connected to any cell towers.
The only connection the device has to the outside world is through the web. But there is a high probability that the network location is in different city showing the wrong address...for example user is in CA but the network being accessed is located in MI (thus showing the user's location in MI).
Does the Android SDK contain an API that can serve as a workaround to this scenario?

IP Geolocation should work, unless when you say "network being accessed" you mean that the Android device creates a VPN tunnel to MI.
The Google Maps Geolocation API will also work off of wifi towers that the device can detect, so local wifi signals may be able to pinpoint the device location.

Related

Android location incorrect

This is my case. when the mobile signal is too weak one or two bars. The phone will connect to wifi automatically. After that, when the app try to acquire location. The location is always incorrect. is that gps signal issue?
Rather than trying to use your GPS chip to find your device, Google’s servers “remember” the GPS locations of devices connecting through your router (presumably by associating your location to the router’s MAC address), and “assumes” that all devices connecting through that router are at the location which it remembered. The complete details can be found via below link.. http://redoubtsolutions.com/android-reports-wrong-location-when-connected-to-wifi/

mobile positioning in google maps using only internet

I used an android smartphone in the following situation:
without SIM-Card
connected to a WLAN
located in an indoor environment (GPS does not work)
located somewhere other than the address probabely set in google account
for positioning in Google-Maps App. The result was roughly correct (about 15 meters error).
There is no GPS signals to get position.
Thre is no SIM-Card. So using Cell ID is impossible.
It means the only resource from which my position is achieved is internet. Could anybody explain to me (while I couldn't find anything in internet) how this is possible?
Google gathers information on the SSID of WiFi hotspots. They drive around with cars gathering street views for their maps and other information like the location of WiFi hotspotes. They store it in a data base somewhere and when you ask for your location it will find out the SSIDs of every WiFi hotspote around you and then give a rough estimate based on signal strength and other information.
Google might use people's cell phones to gather WiFi SSID information as well I am not really sure about that though. I think this because there are setting in most android phones asking to help Google for accuracy using WiFi...
Other sites use public ISP information obtained by IP address but this is not as reliable as it gives the location of your ISP (Internet Service Provider).
Here is a site where many people are discussing this topic.
Here is a site that teaches how Google finds location data through SSID
Here is a site that teaches how geolocation software finds ISP location
Google, apart from other ways, uses SSID of the nearby networks to get your position. AFAIR there was a big concern about Google Street View Cars scanning for wifi networks, recording SSIDs for location purposes. If that SSID is not registered, they probably use some kind of IP location service, based on network provider ip address pool.
See Google maps Android API getting wifi location for more details about getting that information from Android.
Android may use wifi and sensors in order to get your position. The more wifi routers around - the more accurate your position.

Getting the geo location by MAC address of the device

Is it possible to get the device location of an android device (mobile phone) in cordova using it's MAC address?
Example: If we send the MAC address of a device, then will we able to get the longitude and the latitude of that MAC address's device, assuming that the particular device's "Access to my location" is "on"?
I think you're a bit confused about what the relationship between MAC addresses and geolocation is. They aren't used to track individual devices this way--the functionality in the Play Store for tracking down a lost device doesn't even use it (directly). It contacts the device over the Internet (provided it's reachable) and asks the device where it thinks it is.
The only relationship MAC addresses have to geolocation is that, in the absence of a good GPS signal (i.e., one that results in a high-accuracy location measurement) the addresses of nearby (within communication range) wireless APs can be used to attempt to determine the device's location. While this isn't as precise or as simple as GPS, it's generally much faster than more accurate and than relying on information from cell towers alone.
It's basically not possible to contact a device over the Internet by MAC address because of IPv4/v6 being the protocol necessary to go from one broadcast domain to another (i.e., one little network to another) and MAC addresses being a layer below that in the protocol stack.

Google maps Android API getting wifi location

So I am working on this app that will get the location of a wifi hotspot by just detecting it using the sensor wifi of the phone (The phone is not actually connecting to the hotspot wifi, it just detect).
I was doing some preliminary research before start developing the app, and it seems that the Google Geolocation API will do the work for me. However, it is not free (at least what I understood after reading through the API). I had checked other apps that detects wifi hotspot, and I am just wondering if those apps have their own database with all the wifi hotspot information (SSID, location coordinates, etc) so when the wifi sensor detects a wifi hotspot, it will lookup the database and get the information such as location.
Also, I was mentioned by a colleague that Google Maps also stores wifi info. Is is true? Cause I couldn't find any info about that.
Android has multiple LocationProviders, including:
LocationManager.GPS_PROVIDER : get position using GPS
LocationManager.NETWORK_PROVIDER : get position using Wifi, cell network, etc.
LocationManager.PASSIVE_PROVIDER: get position using data provided by already running providers. This allows several apps to share geolocation information)
You don't have to pay anything to use NETWORK_PROVIDER
Some providers might not be present on all devices, depending on phone model and android version.
Providers have different characteristics: NETWORK is fast but not always precise enough, GPS is precise but slow and battery intensive, etc. The best strategy is to request location from several providers, and cancel pending request as soon as you get a location that is good enough depending on your criteria (precision, response time, etc.)
I found this article by Reto Meier quite useful to wrap my head around geolocation on Android

Android web browser geo location problems on wifi - it's way off

I have this website that's designed for android phones. It gets the location of the user through the web browser... sometimes.
When I have wifi off, it switches out of lazy mode and get's an actual GPS location which is bang on the money.
When I have wifi on (and only in my office, other wifi works) it goes lazy and using the wifi to get the location. But it's saying I'm in Monaco... But I'm really in Australia.
What's up with that?
It only happens when wifi is on. And only at my office.
Wifi location is based on IP Geolocating which can be affected by many things.
Several company intranets I've used have reported locations waaaaaay off. In one case I think this is due to the use of a web proxy, because the location reported is the city the company headquarters is located in (and where the web proxy's running from), not the location I work at. At another company, the location reported is in another country halfway around the world. I'm not sure exactly what's causing this - maybe the address of my computer within the intranet maps to the internet facing IP address of a computer in another country? Maybe there's some kind of network security software that can mis-report this? Maybe the address used to belong to a computer there, but then this company bought it?

Categories

Resources