I’m in the process of designing an application which will be fairly centered around a map. What’s plotted on the map, which tools are available and what various map events/actions result in is supposed to be context driven by parallel navigation in other views. You may for example view an index of all trees in an area, switch to editing a single tree, or switching all-together to go on and watch flowers instead.
Imagine something like this: http://i.stack.imgur.com/ttwBx.png
My first question is, does it make sense to make the map (which we can assume will always be visible) be a parent view/controller where navigation in the lefthand panels are nested? I.e.
MapView -> ParentView -> SubView 1 -> Subview 2 -> …
Or would it make more sense to have a setup like the following (where controllers can communicate and setup their relationship via the application, or another central service):
Application / \ / \ Map [Context Views]
This can in essence be generalised to “What is the best practise when you have one dominant context driven view and several others that you navigate freely in?”
What I would like to achieve is a fairly basic base map, where I somehow, based on context, setup interactions, components and two-way bindings with the panel views (so that if I add a marker on the map is show in the panel and vice versa).
I did have a look at the Ember Leaflet project on github and it gave me some ideas for data binding etc. however it seemed the design was influenced on the fact that it’s meant to be used as a library rather than a straight forward implementation - please correct me if I’m wrong and this is the way to go. Aside from data binding it also offers few hints as how to accomplish the context driven view/controller setup.
Any feedback is welcome!