-
Google cell tower mapping with Python on S60
Posted on July 11th, 2008 View CommentsI have had my N95 for some days now. I’ll just say that the device is all I could ask for in a smart phone for, now. iPhone 3G, yeah, lets just say my take on it is clear from my choice of the N95. So the best part of this being the Python for S60 and the location API’s available via Python.
I came across this piece of beauty which uses a hidden Google API for location detection based on cell tower information. Now what better way to start learning Python than getting this piece working on my phone with Python. I’m fed up of writing Hello Worlds to start learning a language. Here is a python version of the poor mans GPS.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
from httplib import HTTP import location latitude = 0 longitude = 0 def doLookup(cellId, lac, host = "www.google.com", port = 80): from string import replace from struct import unpack page = "/glm/mmap" http = HTTP(host, port) result = None errorCode = 0 content_type, body = encode_request(cellId, lac) http.putrequest('POST', page) http.putheader('Content-Type', content_type) http.putheader('Content-Length', str(len(body))) http.endheaders() http.send(body) errcode, errmsg, headers = http.getreply() result = http.file.read() # could need some modification to get the answer: here I just need # to get the 5 first characters if (errcode == 200): (a, b,errorCode, latitude, longitude, c, d, e) = unpack(">hBiiiiih",result) latitude = latitude / 1000000.0 longitude = longitude / 1000000.0 return latitude, longitude def encode_request(cellId, lac): from struct import pack content_type = 'application/binary' body = pack('>hqh2sh13sh5sh3sBiiihiiiiii', 21, 0, 2, 'in', 13, "Nokia N95 8Gb", 5,"1.3.1", 3, "Web", 27, 0, 0, 3, 0, cellId, lac, 0, 0, 0, 0) return content_type, body (mcc, mnc, lac, cellId) = location.gsm_location() (latitude, longitude) = doLookup(cellId, lac, "www.google.com", 80) print latitude print longitude
Download
Beware this does not work from all IP’s, from my wifi connection at home this threw an error while on the GPRS connection this worked well.Related posts:
blog comments powered by Disqus-
kael
-
http://NoWebsite Dario
-
jebu
-
http://NoWebsite Dario
-
jebu
-
http://blog.jebu.net/2008/09/fireeagle-location-updater/ Fireeagle location updater at jebu.net
-
snipe
-
jebu
-
snipe
-
jebu
-
snipe
-
ninj4
-
suhail
-
Zea
-
SumanthMara
-
Johann Aman
-
jebu
-
jebu
-
Johann Aman
-
jebu
-
nick
-
jebu
-
jojo
-
jebu
-
nick
-
nick
-
jebu
-
nick
-
jebu
-
http://www.giallozafferano.it Splirus
-
jebu
-
http://www.idmovil.com.ar/blog/archives/101 Google Maps, Buscador de Numeros Celulares
-
Felipe Pontes
-
http://wap.ecw.de/archives/512 API für Google Mobile Maps « BibaBlog
-
haojian
-
haojian
-
http://blog.jebu.net jebu
-
haojian
-
http://blog.jebu.net jebu
-
ben9732
-
http://typingzandi.wordpress.com/ Nima Zandi
-
ashen
-
ashen
-
marcorivero
-
Eyal
-
http://www.buzzingstreet.com BUZZINGSTREET
-
http://www.easymagicjack.org The Magic Jack
-
http://hubpages.com/hub/My-Favorite-Workout-Machine-of-All-Time-The-Air-Climber air climber
-
http://www.air-jordan-13.com air jordan 13
-
http://www.cheapbootsforsale.us ugg boots
-
http://www.discount-louis-vuitton.com louis vuitton for sale
-
http://hubpages.com/hub/800-Calorie-Diet 800 calorie diet
-
http://www.moncler-down-jackets.com louis vuitton handbags
-
http://dtvconverterboxes.blogspot.com/2009/06/magic-jack-usb-phone-jack-review-legit.html magic jack scam
-
Zxl
-
http://www.airmax-shox.com/ nike rifts for kids
-
http://www.fr-nike.com Nike Air Max Classic
-
http://www.myshoxsneakers.com nike air max
-
http://www.pickyourjersey.cc nfl jerseys
-
http://www.gd-jewelry.com แหวนแต่งงาน
-
http://www.plioz.com modern baby toddler
-
http://www.thonginphone.com ภาษาเกาหลี
-
http://www.thonginphone.com ภาษาเกาหลี
-
Sharegyan011
-
Sharegyan001
-
Anonymous
-


