import location
import gobject
def on_error(control, error, data):
print "location error: %d... quitting" % error
data.quit()
def on_changed(device, data):
if not device:
return
if device.fix:
if device.fix[1] & location.GPS_DEVICE_LATLONG_SET:
print "lat = %f, long = %f" % device.fix[4:6]
data.stop()
def on_stop(control, data):
print "quitting"
data.quit()
def start_location(data):
data.start()
return False
loop = gobject.MainLoop()
control = location.GPSDControl.get_default()
device = location.GPSDevice()
control.set_properties(preferred_method=location.METHOD_USER_SELECTED,
preferred_interval=location.INTERVAL_DEFAULT)
control.connect("error-verbose", on_error, loop)
device.connect("changed", on_changed, control)
control.connect("gpsd-stopped", on_stop, loop)
gobject.idle_add(start_location, control)
loop.run()
Nokia-N900-42-11:~# python test-location.py lat = 39.400000, long = 0.000000 quitting
Nokia-N900-42-11:~# python test-location2.py lat = 39.400000, long = 0.000000 lat = 40.796683, long = -73.922741
| The Following User Says Thank You to lizardo For This Useful Post: | ||