OpenLayers OpenLayers

Changeset 2817

Show
Ignore:
Timestamp:
03/19/07 09:46:15 (2 years ago)
Author:
sderle
Message:

Marker objects now update their lonlat after moveTo. Fixes #519. Tests pass.

Files:

Legend:

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

    r2803 r2817  
    7272        if ((px != null) && (this.icon != null)) { 
    7373            this.icon.moveTo(px); 
    74         }             
     74        }            
     75        this.lonlat = this.map.getLonLatFromLayerPx(px); 
    7576    }, 
    7677 
  • trunk/openlayers/tests/test_Marker.html

    r2119 r2817  
    7272        t.eq(parseFloat(marker.icon.imageDiv.style.opacity), 0.5, "marker.setOpacity() works"); 
    7373    } 
     74    function test_04_Marker_moveTo(t) { 
     75        t.plan( 6 ); 
     76         
     77        var map = new OpenLayers.Map("map"); 
     78 
     79        var url = "http://octo.metacarta.com/cgi-bin/mapserv"; 
     80        layer = new OpenLayers.Layer.WMS(name, url); 
     81 
     82        map.addLayer(layer); 
     83         
     84        mlayer = new OpenLayers.Layer.Markers('Test Layer'); 
     85        map.addLayer(mlayer); 
     86                
     87        map.zoomToExtent(new OpenLayers.Bounds(-50,-50,50,50)); 
     88 
     89        //onscreen marker 
     90        var ll = new OpenLayers.LonLat(0,0); 
     91        var marker = new OpenLayers.Marker(ll); 
     92        mlayer.addMarker(marker); 
     93         
     94        t.eq(marker.lonlat.lon, 0, "marker lon okay");  
     95        t.eq(marker.lonlat.lat, 0, "marker lat okay"); 
     96        console.log(marker.icon); 
     97 
     98        marker.moveTo(new OpenLayers.Pixel(250,275)); 
     99        t.eq(marker.lonlat.lon, 0, "marker lon no change");  
     100        t.eq(marker.lonlat.lat, 0, "marker lat no change");  
     101         
     102        marker.moveTo(new OpenLayers.Pixel(0,0)); 
     103        t.eq(marker.lonlat.lon, map.getExtent().left, "on left edge of map");  
     104        t.eq(marker.lonlat.lat, map.getExtent().top, "on top edge of map");  
     105     
     106    } 
    74107 
    75108  // -->