Jquery ui 将传单标记拖到地图外部
我正在ASP.NET MVC 5应用程序中使用传单标记 我需要将应用程序外部的标记拖到一个div元素,在这里我想获取它的id以执行进一步的操作Jquery ui 将传单标记拖到地图外部,jquery-ui,drag-and-drop,leaflet,Jquery Ui,Drag And Drop,Leaflet,我正在ASP.NET MVC 5应用程序中使用传单标记 我需要将应用程序外部的标记拖到一个div元素,在这里我想获取它的id以执行进一步的操作 marker=new L.marker([latNumber,longNumber], {draggable:'true'}); marker.id = "ABC"; $('#'+ marker.id).draggable(); // draggable jquery UI marker.on('dragend', f
marker=new L.marker([latNumber,longNumber], {draggable:'true'});
marker.id = "ABC";
$('#'+ marker.id).draggable(); // draggable jquery UI
marker.on('dragend', function(event){
var marker = event.target;
var position = marker.getLatLng();
console.log(position);
marker.setLatLng(position,{draggable:'true'}).bindPopup(position).update();
});
另一方面,我使用jQueryUI的droppable元素
$("#navs").droppable({
drop: function (event, ui) {
alert('dropped')
}
});
当我将事件放置在导航元素上时,不会将其放置在导航元素上。我需要做什么样的改变才能使它工作
如果有人能进一步解释,那也会很有帮助。你不能把传单标记拖到地图外面 标记的draggable选项和jQuery的draggable概念完全不同 Being说,你可以通过使用标记的图像将其放置在地图上方来假装标记被拖动:它不是地图的一部分,但看起来像(这就是你提到的链接所指的)
- A
- B
- C
- D
$(函数(){
$(“#伪造者”).draggable();
$(“#李斯特”)。可拖放({
接受:“#造假者”,
drop:函数(事件、用户界面){
$(“#log”).html(“放在”+$(this.html())上);
}
});
} );
这里有一个例子:实际上,似乎有一个解决办法。传单标记将标记添加到地图并变为可见后,将调用事件“添加”。在这种情况下,您可以在对应于该标记的图标上初始化一个Dragable
m=L.marker([lat,lng],{
title:title,
draggable:true
});
m.on("add",function(){
$(this._icon).data("marker",this);
$(this._icon).draggable({
appendTo:"body",
helper:"clone",
zIndex:1000
});
});
拖动传单面板外部时需要“appendTo”。zIndex应该高于传单地图zIndex(不确定是否已修复,在我的页面上为600)。可能,您需要一个用于复制图标的助手函数,我已经自定义了我的助手(可以通过数据“marker”访问标记)
我已经在传单1.0.3中使用了它。我收集了带有不同GPS位置的标记,而不是单个标记。
m=L.marker([lat,lng],{
title:title,
draggable:true
});
m.on("add",function(){
$(this._icon).data("marker",this);
$(this._icon).draggable({
appendTo:"body",
helper:"clone",
zIndex:1000
});
});