Or, consider resurrecting Chris' DragMarker control:

http://trac.openlayers.org/browser/sandbox/tschaub/feature/lib/OpenLayers/Control/DragMarker.js

Can't remember why that didn't work.  Chris probably already replied and 
I missed it.

Tim

PS - I think we should start discussing an easier way to make things 
draggable.  There are certainly plenty of good solutions in other 
frameworks.  Dragging is a pretty primary operation in map related apps. 
  Would be good to have an elegant solution that was reusable for 
various elements.

Alan Boudreault wrote:
> I think that's why the "mouseup" event was register with Priority......
> it's this event that stop the mousemove one.  Just add a boolean member
> "DragEnabled" and the mousemove event will do it's work only if the this
> variable is set.
> 
> Alan
> 
> KartoPete wrote:
>> good idea, 
>> I tried first version and can't stop the mousemove event. Any ideas? If it
>> would be my own code I would do it different, but I#m stuck in many code
>> from another author, who worked on the project before. My actuell
>> DraggableMarkerClass looks like this:
>> OpenLayers.Marker.DraggableMarker = OpenLayers.Class(OpenLayers.Marker, {
>>      
>>      layer: null,
>>      currentEvent: null,
>>      
>>      registerEvents: function(){
>>              this.events.registerPriority('mousedown', this, 
>> this.onMarkerDown);
>>              this.map.events.register('mouseup', this, this.onMarkerUp);
>>      },
>>      
>>      onMarkerDown: function(){
>>              this.map.events.register('mousemove', this, this.onMove);
>>      },
>>      onMarkerUp: function(){
>>              
>>              Event.stop(this.currentEvent);
>>              
>>      },
>>      onMove: function(e){
>>                      var lonlat = this.map.getLonLatFromViewPortPx(e.xy);
>>                      var marker = new OpenLayers.Marker.DraggableMarker(new
>> OpenLayers.LonLat(lonlat.lon,lonlat.lat), markerIcon2.clone());
>>                      this.layer.clearMarkers();
>>                      this.layer.addMarker(marker);
>>                      this.currentEvent = e;
>>      },
>>      
>>      
>>     CLASS_NAME: "OpenLayers.Marker.DraggableMarker"
>> });
>>
>> As I already said, I can't stop the mousemove-Event!
>> Any ideas?
>> thx,
>> Pete
>>   
> 
> 


-- 
Tim Schaub
OpenGeo - http://opengeo.org
Expert service straight from the developers.
_______________________________________________
Users mailing list
[email protected]
http://openlayers.org/mailman/listinfo/users

Reply via email to