Is there any way to get the computer geolocation (as in Google Maps "My Location") from a Python script? The computer would always be connected to the Internet.
-
there are api services that can do this that you can talkto using urllib or somethingJoran Beasley– Joran Beasley2013-07-17 15:51:07 +00:00Commented Jul 17, 2013 at 15:51
-
That's what I am asking, what are the services that I can use? Or how can I access Google Maps apiSerban Razvan– Serban Razvan2013-07-17 16:01:39 +00:00Commented Jul 17, 2013 at 16:01
Add a comment
|
2 Answers
>>> import re,requests
>>> raw = requests.get('http://www.geoiptool.com/').text
>>> latlon = re.search("GPoint\(([^)]+)\)",raw).groups(0)
>>> lat,lon = map(float,latlon[0].split(","))
>>> print "Latitude:%s Longitude:%s"%(lat,lon)
Latitude:-117.2455 Longitude:46.7322
a couple of caveats ...
This probably is not the best method and should not be done over and over again or you might upset the site owners
this uses IP lookups so it may not be as good as GPS/wifi coordinates
1 Comment
Serban Razvan
Thanks a lot, it worked as I wanted. Thanks as well for the tips.
Google Maps license do not allow using geocoding service API outside map object. Look at this question https://gis.stackexchange.com/questions/18871/is-there-an-open-source-geocoding-tool-which-can-be-used-commercially. Hope it helps.