正确拖动几个对象

时间:2016-03-25 14:13:00

标签: javascript leaflet mouseover drag

我制作一个javascript传单项目。我有2种标记。第一个用于停车,第二个用于航点。

目标是拖动停车标记并将其移动通过某些航点标记。 (从0到n)不丢弃。

在dragend之后,停车标记在起始位置返回,并将该标记移动的所有对象添加到父级。

所以我做了一些活动。上:

dragstart(停车点标记):定义要添加的全局对象,

mouseover(航路点):添加"此" to global object,if global object!null,

dragend(停车点标记):停止并使全局对象为空,

有效。 但问题是,只有当停车标记的拖动速度很快时才能正常工作。如果它慢慢地,鼠标悬停没有解雇。 可能是我选择了错误的方式来实现目标,或者可能是你知道的。如何让它更好?

 tmpVar = L.marker([point.LAT, point.LON], {
                'title': title,
                'draggable': true
            });

 tmpVar.on('mouseout', function(event){
                var localData;
                localData=event.target.source.NUMBER-1;
                if (typeof(rootScope.addingPoints) != "undefined"){
                rootScope.addingPoints.push(localData);
               }
            });


  tmpVar2 = L.marker([track[i].coords[0].lat, track[i].coords[0].lon],
  tmpVar2.on('dblclick', function(event){
                    var localData=event.target;
                    rootScope.$emit('pointEditingPopup', localData );
                });

  tmpVar2.on('dragstart', function(event){
                rootScope.addingPoints=[];
                if( typeof (event.target.source.servicePoints) == 'undefined'){
                event.target.source.servicePoints=[];
                }
                    rootScope.currentStopPoint=event.target.source;
                });

  tmpVar2.on('dragend', function(event){
                var container=event.target;
                checkAndAddNewWaypointToStop(rootScope.addingPoints, rootScope.currentStopPoint);
                container.setLatLng([container.source.lat, container.source.lon]).update();  
                });
                addMarker(tmpVar2);

0 个答案:

没有答案