OpenLayers OpenLayers

Changeset 5371

Show
Ignore:
Timestamp:
12/11/07 02:27:45 (1 year ago)
Author:
crschmidt
Message:

MousePosition control throws error when no layers are on map. Fix it so that
they don't. Thanks for the review, fredj. Includes tests. (Closes #1029)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/openlayers/lib/OpenLayers/Control/MousePosition.js

    r4985 r5371  
    109109 
    110110            lonLat = this.map.getLonLatFromPixel(evt.xy); 
     111            if (!lonLat) {  
     112                // map has not yet been properly initialized 
     113                return; 
     114            }     
    111115            this.lastXy = evt.xy; 
    112116        } 
  • trunk/openlayers/tests/Control/test_MousePosition.html

    r4431 r5371  
    3838    } 
    3939 
     40    function test_02_Control_MousePosition_redraw_noLayer_displayProjection(t) { 
     41        t.plan(3); 
     42        control = new OpenLayers.Control.MousePosition(); 
     43        map = new OpenLayers.Map('map'); 
     44        map.addControl(control); 
     45        t.eq(control.div.innerHTML, "0.00000, 0.00000", "innerHTML set correctly"); 
     46        control.redraw({'xy': new OpenLayers.Pixel(10,10)}); 
     47        control.redraw({'xy': new OpenLayers.Pixel(12,12)}); 
     48        t.eq(control.div.innerHTML, "0.00000, 0.00000", "innerHTML set correctly"); 
     49        l = new OpenLayers.Layer('name', {'isBaseLayer': true}); 
     50        map.addLayer(l); 
     51        map.zoomToMaxExtent(); 
     52        control.redraw({'xy': new OpenLayers.Pixel(10,10)}); 
     53        control.redraw({'xy': new OpenLayers.Pixel(12,12)}); 
     54        t.eq(control.div.innerHTML, "-175.78125, 85.78125", "innerHTML set correctly when triggered."); 
     55    } 
     56 
    4057  </script> 
    4158</head>