I'm looking into making a genome browser that offers a map-like interface (showing pre-rendered bitmap tiles at different scales). OpenLayers appears to be an open-sourced framework with a permissive license that could be used for this purpose. Someone took a stab at it some years back, but it doesn't look like the code has been touched since 2008, and the link to the demo site does not appear to work.
My question is if there are developers here who are familiar with this library and any possible downsides. Specifically:
- What is OpenLayers performance like and is it easy to customize with custom maps? For instance, can I stack multiple maps of varied content on one page, in order to show multiple data tracks? Does this library generally work in a performant manner?
- Can mouse-drag events be received on one map and duplicates of the event forwarded to other maps/tracks in a responsive manner?
- Can mouse-drag events over a map be restricted in one axis (say, horizontally)?
- Is it easy to set up potentially many millions of regions (e.g., complex gene annotations — think intron/exons, for instance) atop a map tile set that respond to mouseover and click events?
- Is developer support reasonably strong (if there are bugs, do they get fixed, or do bugs languish)?
I wrote a local genome browser equivalent that uses SVG and d3.js, but it is rather slow on loading fresh data, as it requires regenerating a large XML-like document and a browser capable of quickly loading that large amount of XML into the DOM and then rendering it. There is the WashU browser, which appears to use HTML5 Canvas instead of SVG, but it was difficult to set up a local instance and I am having a fair amount of difficulty following the code. I'm wondering if a "Google Maps"-like approach may work better. Thanks for any advice from those familiar with OpenLayers (or open-source map rendering technology, in general).