1

円が描かれた Google マップがあり、半径を変更するとすぐに、新しいパラメータを含むフォームを送信します。

editable:trueこれはand radius_changed-eventで非常にうまく機能します

サイズ変更の移動が完了すると、radius_changed イベントが発生するためです。

center_changed-event で同じことをしたいのですが、これは円を「ドロップ」しても起動しません。中心が変わるたびに起動します。

ドキュメントで円のドラッグイベントが見つかりません。

問題は、円をピクセルに移動するとすぐにフォームがすぐに送信されることです。

ここに私のgmap3コードスニペットがあります

    circle:{
options:{
  center: destination,
  radius : distance,
  fillColor : "white",
  fillOpacity:0.3,
  strokeColor : "#c9311b",
  editable:true,
  draggable:true
},
events:{
  click: function(circle){
    circle.setOptions({
      fillColor : "white",
      fillOpacity:0.1,
      strokeColor : "#FF512F"  
    });
  },
  radius_changed: function(circle){
    var radius =circle.getRadius() ;
    var newradius = parseInt(radius) / 1000;
    alert(parseInt(newradius,10));
    $('#seldistance').val(parseInt(newradius,10));
    $('.sucheen').submit();

  },
  center_changed: function(circle){   //
    var center = circle.getCenter();  // Here´s the center change event,
    console.log(center);              //it really spams the console when you drag
  }                                   //
},
callback: function(circle){
    if(distance != '0'){
        if ( distance < '1000'){
            $(this).gmap3('get').setZoom(15);
            console.log('radius ='+distance);
        }
        else if ( distance < '5000'){
            $(this).gmap3('get').setZoom(13);
            console.log('radius ='+distance);
        }
        else if ( distance < '10000'){
            $(this).gmap3('get').setZoom(12);
            console.log('radius ='+distance);
        }
        else if ( distance < '20000'){
            $(this).gmap3('get').setZoom(11);
            console.log('radius ='+distance);
        }
        else if ( distance < '35000'){
            $(this).gmap3('get').setZoom(10);
            console.log('radius ='+distance);
        }
        else{
        $(this).gmap3('get').setZoom(10);   
        }
    }
    else {
    //Clear circle if no radius is set
    $(this).gmap3({
      clear: {
        name:["circle"],
        last: true
      }
    });
    $(this).gmap3('get').setZoom(12);
    }
}
},//close circle

dragend イベントをトリガーする方法を知っている人はいますか ?=

わかりました、必要な関数には editable:true が付属していることに気付きましたが、小さな中心点を使用してドラッグする場合にのみ、円全体をどこにでもドラッグしたいと思います

4

1 に答える 1

0
于 2013-03-12T18:11:05.643 に答える