We are in process of converting our site over to Drupal (6.2.8 for now) from a static/custom jsp site. Last year, we had a dynamic map (see here: http://archive.summer.harvard.edu/help/directions.jsp )
Key behavior was that when you selected something from one dropdown the other filtered itself to show 'legal' values, and immediately updated the map to show the selected building. Directions were a plus, but those are not planned for the Drupal version.
My data/view is structured like so: I have a building content type which contains building name, type, lat/lng, and location data. I have two openlayers views - one for the map data, which accepts a nid as the argument and filters against the building node, and has exposed filters for type and name. Another is the map view itself which is set to use 'exposed filter in block' and accepts a nid as the argument.
I've been able to get pretty close using OpenLayers and views, but I have found some stumbling blocks along the way. Specifically, if I use exposed filters for my type and building dropdowns, I need to submit the form and reload the page in order to refresh the map.
I was really hoping that I'd be able to maintain the ajaxy behavior from the old map in the transition to Drupal. So I've thought of some options, but none are working great yet:
- Since the map view itself takes a nid argument, maybe I don't need a filter at all. What if I made a different view that just had select inputs in it, each of which had some kind of onselect that sent the nid to the map? (I could build them w/ jquery UI autocompletes using a view as a json datasource, for instance)
- Maybe there's some kind of way to use panels to pass arguments between views? (But can it do it dynamically without reloading the page?)
- Am I just going about this all wrong, should I go back to custom-coding my map clientside?