Opera will not dispatch mouse events to an absolutely
positioned SVG element:
http://bl.ocks.org/jfirebaugh/6fbfbd922552bf776c16
We need layers to be absolutely positioned in order to
obtain the correct positioning and z-order simultaneously.
Therefore we must wrap the SVG in a div and absolutely
position that instead.
Fixes#1416.
* Fixed opacity control
* Reorganize layer switcher
* Add GPX item to menu
* Allow user to cinch to GPX extent
Needs:
* Moderate refactoring
* Possibly a specific 'layerchange event'
* Dropping GPX on the map should be a behavior, probably, instead of in
the layer
* Layers, if we want them, should be named rather than just have list
indices
* A better icon for zoom to extent and for that icon to be properly
placed
At z16 and below, tagged points are rendered with a small
dot in the center. At z17 and above, they are rendered with
a maki icon.
See the test rendering page for examples.
Fixes#381.
This yields a 10x paint performance increase at
#map=18.88/38.85208/-76.72632, as measured with
Chrome Canary's "Continuous Page Repainting" mode.
Fixes#885.
Due to differenced redraw, midpoint.ways was getting stale,
so sometimes dragging a midpoint didn't add the new node to
all ways. Better to calculate participating ways when needed.
This also simplifies the code for adding a midpoint via double
click. It does make filtering midpoints on redraw a bit more
expensive, but a cursory profile didn't show it being a problem.
Fixes#763.
This avoids a duplicate full redraw at the end of a drag pan. The
redraw triggered by mouseup.zoom now cancels the pending debounced
redraw.
Also, bump the debounce interval to 300ms, which helps avoid full
redraws during scroll zoom, making it more responsive.