-
Notifications
You must be signed in to change notification settings - Fork 5
/
TODO
205 lines (164 loc) · 8.15 KB
/
TODO
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
Done:
• icons © greenmap -OK
• permalinks ~OK done with hash in browser url.
• "fork me at github"-badge -OK
• Search box (for e.g. jump to location)
http://mapbbcode.org/leaflet.html very primitive, but works - takes first Nominatim hit, no possibility to choose :-/
https://github.com/smeijer/L.GeoSearch Demo not working, have to try
Overpass Turbo implementation: - dunno from where he has ist, seems to be copied.
http://labs.easyblog.it/maps/leaflet-search/examples/nominatim.html - good looking and functionality, but: hangs on map load, BG map displayed and pannable only after some time :-/
-OK fixed with resorting to add search code at last
• 'Locate me' button instead of automatic geolocation on load
https://github.com/domoritz/leaflet-locatecontrol doesn't work with latest jquery and leaflet
try to rewrite to version with minimal function. -OK
• adding POIs from overpass to marker layer with bulk methods -OK
• Display coordinates -OK
• "loading" - indicator for node/way/relations -OK
• fix loading of Graz POIs at start -OK
• "Download this data" - Link (Overpass-Export)
• edit in JOSM / iD -Link
• LEGEND for Icons!
• The Current Map has to be named in the Header! -> OK sidebar
• maxzoom up to 19 -OK
• icon for shop=mobile_phone -OK
• nominatim HTTPS -OK
github issues
• opening_hours support (is it open now?)
• in Popup „Route here“ with link to OSRM
• popup language translation
• popup links to tags (to osm-wiki - what does this tag mean?)
• statistics: how many POIs loaded (like overpass-turbo)
• display image (from wikipedia or "image="-Tag
• addresses: show street if member of associatedStreet Relation
• icons: rewrite to have all in one file (less http requests)
• markers: implement retina using property iconRetinaUrl (iconsize * 2)
Todo:
• layers with different needs
1st step: layer checkbox(es) in layer-menu -OK
2nd step: more layers (different overpass-queries)
question:
? one query, and sort into different layers → goal should be to reduce queries
? more queries, and feed each into its own layer?
? what if an object belongs to more than one layer?
? how to do clustering?
must be done over ALL layers → only one layer possible!
→ we cannot use Leaflet layer switcher
→ must use MarkerCluster function!
removeLayers is too slow when bulk removing
→ clearLayers then addLayers
3rd step: generate overpass-queries from taxonomy.json
• iconify information in popup
• wheelchair -OK
• social media contact: display icons (twitter, facebook, g+) -OK
correct link generation:
check if it starts with facebook.com/ (e.g.) (if not add)
check if it starts with http[s]+:// (if not add)
"(contact:)website"-links pointing to facebook -> transfer to facebook-icon.
• organic
• diet (vegan, veggie, ?
• fairtrade
• secondhand
• opening hours -> below address -OK
• route here -> below address -OK
• different icon-sets for the distinct maps -OK
base-folder for each map
pois
needs
identities
interaction
freemap -> pois?
greenmap -> pois?
organic -OK
pois, but with colors:
only: green
yes: yellow
limited: orange
or background or bg-image?
• fixed worldwide clusters for z=0-12! (download daily via script to server)
~OK done for identities + needs
Performance:
• reduce queries to Overpass-Server
· when zooming in below 12, do not query -OK
· keep (how?) a "List" of visited places, and do not query if we were already there
· At first, download nodes, then ways, then rels (should speed up display significantly) -OK
-> different types to different servers -OK
Todo: check ways in rels, nodes working -OK
clustering
Leaflet.markercluster -OK
TODO:
• generic icons for clusters
-> better clusters
translations via transifex
how to fetch translations? should be fetched realtime (at loading of website)
implement API (at first via sourced JSON file)
todo: on transformap.co not ONE map, but many .... tiled 'previews' n' with link to distinct maps
* Organic map -OK
* Regional map -OK
* Gratis-map
* Needs-karte
* Political Map -OK
* fairtrade-Map -OK
* garden-map
* ...
Sidebar toggle button:
display “Menu” or something when hidden
FIXME
POIs doesn't work with IE8 on WinXP
Mobile: some icons scale in FF (layers, +/-, locate)
others not (edit, search)
Every IMPORTANT Feature has to have text&icon!
Other Maps (how to call it? "Other Maps" "Maps" "Explore Maps" "Different Maps" "More Maps"
Edit
Think of Mobile! They CANNOT hover for more information!
Filters:
must be deactivated on default: Button "Enable Filters"
because: at 20 Needs, 20 checked boxes confuse users
must be taken into account in URL (for sharing)
display amount of items right of filter! (e.g. you see that you can filter out all 427 trees)
on EVERY Map provide filters for our 3 categories!
so you can filter on the organic map to deactivate buying_selling! - then you should see all "alternative" POIs
feedback user-test:
dass die "6" die Anzahl der Punkte ist, ist nicht intuitiv
Hover-Effekt muss sowohl bei POIs als auch bei Clustern gehn -OK
zoom bei cluster auflösen zu schnell, man sieht nicht dass die Karte reinzoomt
POIlist maxheight - calc dynamically, too small -> set to 10K
linking: for PERMA-Links, do not link to popup, use overpass-style queries...
images: when from wikimedia commons linked, the link maybe for the site and not for the file - extract via API
images: when more than one (on wikipedia articles?) provide |<| |>| - bars left and right to switch images in popup
bug: POIlist gets not updated on click on filter -OK
-> for performance, run updateFilterCount and updatePOIlist only when the list/filters are open/or clicked on -OK
filters: make filters selectable per map
filters-filesplit: nr of POIs in sidebar must be split into sidebar file -OK
downloading-bboxes problem:
bboxes have a fixed size ½ the length each side for each zoomlevel
matching cornerpoints:
if ANY cornerpoint is not in an area, bbox has to be downloaded (or modified?)
a function should be run regularly (e.g. every 10 times) in the background which removes inner boxes (and expand outer boxes? maybe before?)
for performance, define an outer bbox with max/min lon/lats for every polygon
there can be more outer bboxes if a user zooms in&out beyond the minzoom download thresholda
if a BBOX is contained fully in another -> .contains -> OK.
corner checkpoins are not reliable, because of holes in bbox figures.
-> if overlap, create rectangles that fill out every space maximala
with EVERY box that the new one intersects, add 2 new ones:
one that stretches in x from min(x1,x2) to max(x1,x2) (and max .... einmal horizontal lang und einmal vertikal lang -_-
aber nur, wenn die x-oder y-länge größer als die aktuelle bounding-box auf z19 (aktuelle == bildschirmhöhe auf akt. z19) ist.
performance improvements
poilist:
zeige nur 100 an, + 'show more to zoom in'
bboxes
L.intersects is ineffizient
zuerst: bounds.intersects statt jedesmal $i.intersects - geht natürlich nur mit intersects und nicht mit contains
funktionsaufrufe weniger machen "$i._southWest.lng" statt getWest()
contains/intersects hat ineffiziente funktionsweise - berechnet zuerst alles, anstatt bei negativbedingung abzubrechen - implement self!
todo bbox-system
eigentlich sollte ja nur fehlende Fläche downgeloaded weren ... funktion sollte beschnittene bounds zurückgeben, die zu downloaden is!
return false, wenn nichts zu downloaden is
return bbox, die zu downloaden ist
fraglich ist, ob mehrere zurückgegeben werden, wenn in beide Richtungen verschoben...
Wikidata query system
used for
translations of tag keys (& values)
e.g. amenity=restaurant into text de:Restaurant
feeding filters
e.g. building filter "food"
TODO: fetch item only once! -OK