Is there any way to let raspberry itself find its own timezone after it gets connected to WiFi, but without help of longitude and latitude because it doesn't have any GPS.
You would need to first find some way to get a location for the device.
If you have GPS, obviously use that.
If you have Wi-Fi, then you might consider leveraging a Wi-Fi Positioning System database or API. Several are listed here, including both commercial and free options.
If you only have wired Internet connection, you might consider using an IP Geolocation database, though understand there are many accuracy tradeoffs in doing so.
Once you have the location, you can refer to the list of options under How to get a time zone from a location using latitude and longitude coordinates?
If you don't have location at all, and you can't find a way to infer it, then sorry - you're out of luck. You'd have to gather the time zone through some other mechanism, such as through a user interface or manually set configuration file.
Geocoder to get location and timezone once device connects to Wi-Fi
import geocoder
g = geocoder.ip('me')
timezone = g.geojson['features'][0]['properties']['raw']['timezone']
Related
I am developing an application, where I want to get the location details using CLLocationManager class. But if I call the startlocationupdating method, then GPS is started.
I don't want to get the location details using GPS. I want to turn GPS off and get the location details using WiFi or cellular towers. How I can do this?
From the CLLocationManager doc page (https://developer.apple.com/library/mac/#documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html)
For the services you do use, you should configure any properties associated with that service accurately. The location manager object manages power aggressively by turning off hardware when it is not needed. For example, setting the desired accuracy for location events to one kilometer gives the location manager the flexibility to turn off GPS hardware and rely solely on the WiFi or cell radios. Turning off GPS hardware can lead to significant power savings.
Basically the wifi location kicks in disabling the GPS decreasing your accuracy level
Set desiredAcuracy to kCLLocationAccuracyKilometer;
You can proove that you dont have GPS by:
you never get course (degrees) (may also called heading, correct me)
you never get speed (m/s)
from your CLLLocation object, especially when moving
Further if you
dont get altitude,
its not GPS, too (also works when vehicle is stand still
the other possibility is to avoid GPS is to enable location service with "significantLocantionChange" mode. But for this i have no personal experience.
I was in Scotland with a Canadian phone recently, and to avoid roaming charges I had my cellular data turned off throughout the trip. However, the pictures I took still had accurate geotags, meaning my location was still available to my camera apps (even though I couldn't actually see these locations on a map until I got home).
My question is: how would I go about retrieving location data in a situation like that, where I can't actually display a map because there is no internet connection? And, just to improve my understanding, how is the location actually being retrieved? If "cellular data" is off, is GPS still available, or can the location only be calculated using nearby wi-fi hotspots at that point? And finally, if both cellular data AND wi-fi is turned off on a device, can location still be retrieved (i.e. is GPS still active)?
Any info on the subject is welcome - all I am trying to do is handle all possible situations created by the presence or lack of location services and an internet connection in an app where I (if possible) display and store the user's location.
Thanks!
iOS devices that have actual GPS hardware in them can give accurate location data even if there is no WiFi or cellular.
Of course, most map apps require an Internet connection to display a map. But if you have a map app with local map data, then you would be able to see the map with your position even without any Internet connection.
On devices with an actual GPS, location services works just fine with no Internet. It may take a little longer to zero in on your position but it still works normally. Of course on iOS devices with no real GPS, you do need a cellular or WiFi signal to get any position data.
specifically this question is for iPhone only, basically the question is - does iOS location service still give the geo-location (lat, long) when the device has no carrier service neither wifi connection?
Yes it will give you the location using GPS and if the GPS signal is not there it still gives you the old cached location. So in any case it will give you the location.
So far as I know, the latest models (since 3? I think?) have an actual GPS so as long as you can "see" open sky it will be getting lat/long. Whether or not the related apps are able to function (whether it can load the maps, for instance) is another matter entirely.
Im working on a application for which I need to decide in which country the user is. Which is the most accurate way to do this?
Should I use GPS or IP-adress?
What would be the pros/cons with each method?
I would use Apple's location services, which use several technologies (cell towers, WiFi hotspots, GPS, etc.) to determine their location. You can then find the country quite easily with a lookup of the GPS coordinates. I think this would be more accurate than by-IP lookups.
Its probably easier if you go via ip address and use a geo ip lookup service.
For GPS the GPS unit needs to be turned on. I guess lots of people disable it for energy saving. If you just turn on GPS for your check the user needs to get a gps fix first which can be time consuming as well.
In my app, I am trying to figure out the location of my app user using WiFi (not GPS because my main area is inside the buildings), can any one please tell me how can I get user location using hotspot of WiFi.
Any basic guide or example is good .
Thanks in advance.
egards
Use Core Location. The Core Location framework hides the actual device capability from you (more or less) and (depending on the options you set) give you a best estimate for latitude and longitude. I've used the exact same app on an iPhone and iPod touch and have gotten pretty good results with the touch. It won't be as accurate, but it's good enough for most applications.
Check out the Core Location documentation and the "LocateMe" sample code from the developer site: https://developer.apple.com/library/ios/#samplecode/LocateMe/Introduction/Intro.html
Unless you mean to figure out the location of your user in a specific building with known Wi-Fi spots, you'll have to resort to using a IP address geolocation database. There are services, such as that provided by MaxMind, that have a database which you subscribe to for updates. The database maps IP addresses to locations.
This will only get you approximations, so your best bet is to use GPS primarily but IP address as a backup.