map goes to current lat-lon if no destination set
This commit is contained in:
parent
f85ba17996
commit
dd2c675146
@ -50,7 +50,7 @@
|
|||||||
ActionButton:
|
ActionButton:
|
||||||
important: True
|
important: True
|
||||||
text: 'set destination'
|
text: 'set destination'
|
||||||
on_press: root.manager.current = 'map'; app.cambia()
|
on_press: root.manager.current = 'map';
|
||||||
|
|
||||||
|
|
||||||
Button:
|
Button:
|
||||||
|
|||||||
66
main.py
66
main.py
@ -19,49 +19,26 @@ from pprint import pprint
|
|||||||
|
|
||||||
|
|
||||||
class MapScreen(Screen):
|
class MapScreen(Screen):
|
||||||
|
pass
|
||||||
def cambia(self):
|
|
||||||
print(self.app_label)
|
|
||||||
if self.app_label == 'ms hola':
|
|
||||||
self.app_label = 'ms adios'
|
|
||||||
else:
|
|
||||||
self.app_label = 'ms hola'
|
|
||||||
print(self.app_label)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CompassScreen(Screen):
|
class CompassScreen(Screen):
|
||||||
|
pass
|
||||||
def cambia(self):
|
|
||||||
print(self.app_label)
|
|
||||||
if self.app_label == 'cs hola':
|
|
||||||
self.app_label = 'cs adios'
|
|
||||||
else:
|
|
||||||
self.app_label = 'cs hola'
|
|
||||||
print(self.app_label)
|
|
||||||
|
|
||||||
|
|
||||||
|
class FlockompassApp(App):
|
||||||
|
|
||||||
class PruebitaApp(App):
|
|
||||||
|
|
||||||
gps_data = DictProperty()
|
gps_data = DictProperty()
|
||||||
session_data = DictProperty()
|
session_data = DictProperty()
|
||||||
|
|
||||||
def dump(self, dt):
|
def dump(self, dt):
|
||||||
print(dt, self.gps_data, self.session_data)
|
print(dt, self.gps_data, self.session_data)
|
||||||
|
|
||||||
def set_destination(self):
|
def set_destination(self):
|
||||||
self.session_data['lat'] = self.ms.ids.centermark.lat
|
self.session_data['dest_lat'] = self.ms.ids.centermark.lat
|
||||||
self.session_data['lon'] = self.ms.ids.centermark.lon
|
self.session_data['dest_lon'] = self.ms.ids.centermark.lon
|
||||||
|
self.ms.ids.mapview.center_on(self.session_data['dest_lat'],
|
||||||
def cambia(self):
|
self.session_data['dest_lon'])
|
||||||
print(self.app_label)
|
|
||||||
if self.app_label == 'hola':
|
|
||||||
self.app_label = 'adios'
|
|
||||||
else:
|
|
||||||
self.app_label = 'hola'
|
|
||||||
print(self.app_label)
|
|
||||||
|
|
||||||
|
|
||||||
def request_android_permissions(self):
|
def request_android_permissions(self):
|
||||||
from android.permissions import request_permissions, Permission
|
from android.permissions import request_permissions, Permission
|
||||||
@ -76,7 +53,6 @@ class PruebitaApp(App):
|
|||||||
Permission.ACCESS_FINE_LOCATION],
|
Permission.ACCESS_FINE_LOCATION],
|
||||||
callback)
|
callback)
|
||||||
|
|
||||||
|
|
||||||
def gps_start(self, minTime, minDistance):
|
def gps_start(self, minTime, minDistance):
|
||||||
gps.start(minTime, minDistance)
|
gps.start(minTime, minDistance)
|
||||||
|
|
||||||
@ -91,17 +67,24 @@ class PruebitaApp(App):
|
|||||||
self.gps_start(1000, 0)
|
self.gps_start(1000, 0)
|
||||||
|
|
||||||
@mainthread
|
@mainthread
|
||||||
def on_location(self, **kwargs):
|
def on_location(self, **kwargs):
|
||||||
self.gps_data = kwargs
|
self.gps_data = kwargs
|
||||||
|
|
||||||
|
if ('dest_lat' not in self.session_data
|
||||||
|
and
|
||||||
|
'dest_lon' not in self.session_data):
|
||||||
|
self.session_data['dest_lat'] = self.gps_data['lat']
|
||||||
|
self.session_data['dest_lon'] = self.gps_data['lon']
|
||||||
|
|
||||||
|
self.ms.ids.mapview.center_on(self.session_data['dest_lat'],
|
||||||
|
self.session_data['dest_lon'])
|
||||||
|
|
||||||
def build(self):
|
def build(self):
|
||||||
|
|
||||||
# start GPS
|
# start GPS
|
||||||
try:
|
try:
|
||||||
gps.configure(on_location=self.on_location)
|
gps.configure(on_location=self.on_location)
|
||||||
#on_status=self.on_status)
|
|
||||||
except NotImplementedError:
|
except NotImplementedError:
|
||||||
import traceback
|
import traceback
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
@ -110,30 +93,23 @@ class PruebitaApp(App):
|
|||||||
if platform == "android":
|
if platform == "android":
|
||||||
print("gps.py: Android detected. Requesting permissions")
|
print("gps.py: Android detected. Requesting permissions")
|
||||||
self.request_android_permissions()
|
self.request_android_permissions()
|
||||||
|
|
||||||
self.gps_start(1000, 0)
|
self.gps_start(1000, 0)
|
||||||
|
|
||||||
|
|
||||||
# setup app screens
|
# setup app screens
|
||||||
screen_manager = ScreenManager(transition=RiseInTransition())
|
screen_manager = ScreenManager(transition=RiseInTransition())
|
||||||
|
|
||||||
self.ms = MapScreen(name='map')
|
self.ms = MapScreen(name='map')
|
||||||
self.ms.app_label = 'ms hola'
|
|
||||||
screen_manager.add_widget(self.ms)
|
screen_manager.add_widget(self.ms)
|
||||||
|
|
||||||
self.cs = CompassScreen(name='compass')
|
self.cs = CompassScreen(name='compass')
|
||||||
self.cs.app_label = 'cs hola'
|
|
||||||
screen_manager.add_widget(self.cs)
|
screen_manager.add_widget(self.cs)
|
||||||
|
|
||||||
self.app_label = 'hola'
|
|
||||||
|
|
||||||
Clock.schedule_interval(self.dump, 2.0)
|
Clock.schedule_interval(self.dump, 2.0)
|
||||||
|
|
||||||
return screen_manager
|
return screen_manager
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app = PruebitaApp()
|
app = FlockompassApp()
|
||||||
app.run()
|
app.run()
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user