百度地图api 阻止map的click事件

点击鼠标右键获取经纬度,并画经纬度10公里范围圈,添加地图右键监听后,点击鼠标右键,可以正常获得经纬度,并画范围圈,但是map的click事件会被触发,导致再次点击右键时失效,点完鼠标右键,必须再次点击鼠标左键,才会释放,然后再点右键才起作用。
var rightclick = function(e){

    map.clearOverlays();
    //var rightclickPoint = {lng:e.point.lng,lat:e.point.lat};
    var mPoint = new BMap.Point(e.point.lng, e.point.lat);
    $('#lat1').val(e.point.lat);
    $('#lng1').val(e.point.lng);
    var circle = new BMap.Circle(mPoint,10000,{fillColor:"blue", strokeWeight: 1 ,fillOpacity: 0.1, strokeOpacity: 0.3});
    map.addOverlay(circle);
}
map.addEventListener("rightclick", rightclick);
阅读 7.5k
1 个回答

不知道这样可不可以。

var rightclick = function(e){
    e.stopPropagation();
    map.clearOverlays();
    //var rightclickPoint = {lng:e.point.lng,lat:e.point.lat};
    var mPoint = new BMap.Point(e.point.lng, e.point.lat);
    $('#lat1').val(e.point.lat);
    $('#lng1').val(e.point.lng);
    var circle = new BMap.Circle(mPoint,10000,{fillColor:"blue", strokeWeight: 1 ,fillOpacity: 0.1, strokeOpacity: 0.3});
    map.addOverlay(circle);
    return false;
}
map.addEventListener("rightclick", rightclick);

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题