display tree name and center the maps on marker click
This commit is contained in:
parent
7f9fb5e3be
commit
5585f790a7
9 changed files with 28 additions and 18 deletions
Binary file not shown.
|
@ -26,8 +26,8 @@ def iterate_kml(filepath):
|
||||||
yield {
|
yield {
|
||||||
"FMID": autoincrement,
|
"FMID": autoincrement,
|
||||||
"MarketName": name,
|
"MarketName": name,
|
||||||
"Website": "https://deflax.net",
|
"Website": "web_url",
|
||||||
"Facebook": "https://facebook.com/page",
|
"Facebook": "fb_page_id",
|
||||||
"Twitter": "tw_user",
|
"Twitter": "tw_user",
|
||||||
"Youtube": "yt_user",
|
"Youtube": "yt_user",
|
||||||
"OtherMedia": "om_user",
|
"OtherMedia": "om_user",
|
||||||
|
|
|
@ -7,7 +7,8 @@
|
||||||
lat: 42.131331
|
lat: 42.131331
|
||||||
lon: 24.747571
|
lon: 24.747571
|
||||||
zoom: 17
|
zoom: 17
|
||||||
snap_to_zoom: False
|
snap_to_zoom: True
|
||||||
|
pause_on_action: True
|
||||||
on_zoom:
|
on_zoom:
|
||||||
#self.zoom = 10 if self.zoom < 10 else self.zoom
|
#self.zoom = 10 if self.zoom < 10 else self.zoom
|
||||||
#self.print_current_zoom(self.zoom)
|
#self.print_current_zoom(self.zoom)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
from kivy_garden.mapview import MapView
|
|
||||||
from kivy.clock import Clock
|
|
||||||
from kivy.app import App
|
from kivy.app import App
|
||||||
|
from kivy.clock import Clock
|
||||||
|
from kivy_garden.mapview import MapView
|
||||||
|
|
||||||
from treemarker import TreeMarker
|
from treemarker import TreeMarker
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ class ForestMapView(MapView):
|
||||||
trees = app.cursor.fetchall()
|
trees = app.cursor.fetchall()
|
||||||
for tree in trees:
|
for tree in trees:
|
||||||
name = tree[0]
|
name = tree[0]
|
||||||
print("] Fountain detected: " + str(tree))
|
#print("] Fountain detected: " + str(tree))
|
||||||
if name in self.tree_names:
|
if name in self.tree_names:
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -191,6 +191,11 @@ Builder.load_string(
|
||||||
size: self.size
|
size: self.size
|
||||||
Color:
|
Color:
|
||||||
rgba: [1,0,0,.5]
|
rgba: [1,0,0,.5]
|
||||||
|
ThinBox:
|
||||||
|
ThinLabel:
|
||||||
|
text: "Name: "
|
||||||
|
ThinLabelButton:
|
||||||
|
text: root.MarketName
|
||||||
ThinBox:
|
ThinBox:
|
||||||
ThinLabel:
|
ThinLabel:
|
||||||
text: "Address: "
|
text: "Address: "
|
||||||
|
@ -598,7 +603,7 @@ class BaseDialog(ThemableBehavior, ModalView):
|
||||||
)
|
)
|
||||||
|
|
||||||
class ListMDDialog(BaseDialog):
|
class ListMDDialog(BaseDialog):
|
||||||
name = StringProperty("Missing data")
|
MarketName = StringProperty("Missing data")
|
||||||
address = StringProperty("Missing data")
|
address = StringProperty("Missing data")
|
||||||
Website = StringProperty("Missing data")
|
Website = StringProperty("Missing data")
|
||||||
Facebook = StringProperty("Missing data")
|
Facebook = StringProperty("Missing data")
|
||||||
|
|
4
main.kv
4
main.kv
|
@ -2,9 +2,5 @@
|
||||||
|
|
||||||
BoxLayout:
|
BoxLayout:
|
||||||
orientation: 'vertical'
|
orientation: 'vertical'
|
||||||
MDToolbar:
|
|
||||||
title: "Global Forest"
|
|
||||||
right_action_items: [['magnify', lambda x: app.search_menu.open()]]
|
|
||||||
md_bg_color: app.theme_cls.primary_color
|
|
||||||
ForestMapView:
|
ForestMapView:
|
||||||
id: forestmapview
|
id: forestmapview
|
||||||
|
|
4
main.py
4
main.py
|
@ -17,7 +17,7 @@ from kivy.graphics import Rectangle
|
||||||
|
|
||||||
# Import local modules
|
# Import local modules
|
||||||
from forestmapview import ForestMapView
|
from forestmapview import ForestMapView
|
||||||
from searchpopupmenu import SearchPopupMenu
|
#from searchpopupmenu import SearchPopupMenu
|
||||||
from gpshelper import GpsHelper
|
from gpshelper import GpsHelper
|
||||||
from settings import SampleBoxLayout
|
from settings import SampleBoxLayout
|
||||||
from game import GameWidget
|
from game import GameWidget
|
||||||
|
@ -76,7 +76,7 @@ class MainApp(MDApp):
|
||||||
self.cursor = self.connection.cursor()
|
self.cursor = self.connection.cursor()
|
||||||
|
|
||||||
# Instantiate SearchPopupMenu
|
# Instantiate SearchPopupMenu
|
||||||
self.search_menu = SearchPopupMenu()
|
#self.search_menu = SearchPopupMenu()
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
#screen_manager = ScreenManager()
|
#screen_manager = ScreenManager()
|
||||||
|
|
|
@ -1,11 +1,21 @@
|
||||||
|
from kivy.app import App
|
||||||
|
from kivy.clock import Clock
|
||||||
from kivy_garden.mapview import MapMarkerPopup
|
from kivy_garden.mapview import MapMarkerPopup
|
||||||
|
|
||||||
from treepopupmenu import TreePopupMenu
|
from treepopupmenu import TreePopupMenu
|
||||||
|
|
||||||
class TreeMarker(MapMarkerPopup):
|
class TreeMarker(MapMarkerPopup):
|
||||||
tree_data = []
|
tree_data = []
|
||||||
|
|
||||||
def on_release(self):
|
def on_release(self):
|
||||||
|
# Center the map first
|
||||||
|
forestmap = App.get_running_app().root.ids.forestmapview
|
||||||
|
forestmap.center_on(self.lat, self.lon)
|
||||||
|
|
||||||
# Open the TreePopupMenu
|
# Open the TreePopupMenu
|
||||||
menu = TreePopupMenu(self.tree_data)
|
menu = TreePopupMenu(self.tree_data)
|
||||||
menu.size_hint = [.8, .9]
|
menu.size_hint = [.8, .9]
|
||||||
menu.open()
|
Clock.schedule_once(menu.open, 1)
|
||||||
|
|
||||||
|
def update_forestmap_position(self):
|
||||||
|
print("] New Forest Map POSITION", self.lat, self.lon)
|
||||||
|
|
|
@ -4,16 +4,14 @@ class TreePopupMenu(ListMDDialog):
|
||||||
def __init__(self, tree_data):
|
def __init__(self, tree_data):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
print("] Selected tree data: " + str(tree_data))
|
#print("] Selected tree data: " + str(tree_data))
|
||||||
|
|
||||||
# Set all of the fields of tree data
|
# Set all of the fields of tree data
|
||||||
#headers = "Name,Lat,Lon,Description"
|
|
||||||
headers = "FMID,MarketName,Website,Facebook,Twitter,Youtube,OtherMedia,street,city,County,State,zip,Season1Date,Season1Time,Season2Date,Season2Time,Season3Date,Season3Time,Season4Date,Season4Time,x,y,Location,Credit,WIC,WICcash,SFMNP,SNAP,Organic,Bakedgoods,Cheese,Crafts,Flowers,Eggs,Seafood,Herbs,Vegetables,Honey,Jams,Maple,Meat,Nursery,Nuts,Plants,Poultry,Prepared,Soap,Trees,Wine,Coffee,Beans,Fruits,Grains,Juices,Mushrooms,PetFood,Tofu,WildHarvested,updateTime"
|
headers = "FMID,MarketName,Website,Facebook,Twitter,Youtube,OtherMedia,street,city,County,State,zip,Season1Date,Season1Time,Season2Date,Season2Time,Season3Date,Season3Time,Season4Date,Season4Time,x,y,Location,Credit,WIC,WICcash,SFMNP,SNAP,Organic,Bakedgoods,Cheese,Crafts,Flowers,Eggs,Seafood,Herbs,Vegetables,Honey,Jams,Maple,Meat,Nursery,Nuts,Plants,Poultry,Prepared,Soap,Trees,Wine,Coffee,Beans,Fruits,Grains,Juices,Mushrooms,PetFood,Tofu,WildHarvested,updateTime"
|
||||||
headers = headers.split(',')
|
headers = headers.split(',')
|
||||||
|
|
||||||
for i in range(len(headers)):
|
for i in range(len(headers)):
|
||||||
attribute_name = headers[i]
|
attribute_name = headers[i]
|
||||||
#print("attr name " + str(attribute_name))
|
|
||||||
attribute_value = tree_data[i]
|
attribute_value = tree_data[i]
|
||||||
#print("attr value " + str(attribute_value))
|
#print("] " + str(attribute_name) + " = " + str(attribute_value))
|
||||||
setattr(self, attribute_name, attribute_value)
|
setattr(self, attribute_name, attribute_value)
|
||||||
|
|
Loading…
Reference in a new issue