[OpenLayers-Users] Draggable Markers on Openlayers.

BenJamin2007 ukliming at hotmail.com
Thu Oct 18 15:36:33 EDT 2007


Hi, somebody gives me a hand, pls


BenJamin2007 wrote:
> 
> Hi guys,
> 
> I downloaded the draggable Marker feature from 
> 
> http://trac.openlayers.org/browser/sandbox/tschaub/feature/lib/OpenLayers/Control/DragMarker.js?rev=3459
> 
> and I make it work.
> 
> This feature will be released on version 2.6 I guess. But I would like to
> put it forward because I have to use it for my current work.
> 
> Basically, there are 2 fundamental 'classes':
> 
> OpenLayers.Control.DragMarker
> OpenLayers.Handler.Marker
> 
> This is how we add drag control to the markers.::::
> 
> 
> map = new OpenLayers.Map('map');
> markermanager = new OpenLayers.Layer.Markers(" marker layer ");
> var DragControl=new OpenLayers.Control.DragMarker(markermanager);
> map.addControl(DragControl);
> DragControl.activate();
> 
> 
> Easy, Simple, Good!
> 
> I also had this code in my javascript:
> 
> a_marker=new OpenLayers.Marker(new OpenLayers.LonLat(-72,42));
> a_marker.events.register("mouseup", null, function(evt){
>      // Do something.
>     333                           // option 2: intend to creat an error
> here.
> }
> 
> But here is my Problem: If I add the customer event handler....        
> When I drag the a_marker, I can drag it.. but after I release my left
> button, the a_marker won't go release.. The marker keep sticking to the
> mouse.  Seems that the 'mouseup' event has not been passed to the
> DragHandler.....
> 
> The ONLY way I can solve this problem is to create an error at the end of
> the event function, like this:
> 
> a_marker.events.register("mouseup", null, function(evt){
>      // Do something.
>     333     // intend to creat an error here.
> }
> 
> 
> 
> 
> Here are the ways I tried, but failed!!!!
> 
> a_marker.events.register("mouseup", a_marker, function(evt){
>        // Do something.
>       map.Event.Stop(evt);                      
>  }
> 
> a_marker.events.register("mouseup", map, function(evt){
>        // Do something.
>       map.Event.Stop(evt); 
> }
> 
> a_marker.events.register("mouseup", null, function(evt){
>        // Do something.
>       map.Event.Stop(evt);                       
> }
> 
> 
> 
> SO, Some body Help me. 
> 
> Thank a lot!!!
> 
> 

-- 
View this message in context: http://www.nabble.com/Draggable-Markers-on-Openlayers.-tf4616114.html#a13282038
Sent from the OpenLayers Users mailing list archive at Nabble.com.




More information about the Users mailing list