javascript – MarkerWithLabel – 拖动事件就像点击事件一样

前端之家收集整理的这篇文章主要介绍了javascript – MarkerWithLabel – 拖动事件就像点击事件一样前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我点击地图设置了一个标记.我使用MarkerWithLabel.

我使用拖动标记.

如果我拖动标记它可以正常工作.但是如果我拖动一个标签,它就可以在地图上使用click事件.

如何使用标签并在没有点击事件的情况下拖动标签

在我的例子中 – 当我拖动标记时,JS会创建新标记.

@H_502_10@google.maps.event.addListener(map,'click',function(event) { addMarker(event.latLng) }); function addMarker(latLng) { var marker = new MarkerWithLabel({ position: latLng,map: map,draggable: true,labelContent: "example",labelAnchor: new google.maps.Point(30,0),labelClass: "labels",// the CSS class for the label labelStyle: {opacity: 0.75} }); google.maps.event.addListener(marker,'dragend',function(e) { alert(2); }) }

JSFIDDLE

解决方法

除非您有其他解决方案,否则您可以尝试这样的事情( Example): @H_502_10@var map,dragended; // ... google.maps.event.addListener(map,function(event) { if(!dragended) { addMarker(event.latLng); } dragended = false; }); google.maps.event.addListener(marker,function(e) { var target = e.target || e.srcElement; if(target && target.className == 'labels') { dragended = true; } alert(2); });

开始拖动时会触发click事件(Check this).这是一个使用全局变量的肮脏黑客,但如果没有其他解决方案,它就可以工作.

猜你在找的JavaScript相关文章