2016-10-10 15 views
0

私は角度googleマップで作業し、円の半径を制限しようとします。 など。イベントが発生しradius_changedとき、私は半径値をチェックし、それが100未満だ場合、私はそれ100角のあるGoogleマップで円の半径を制限する方法は?

を割り当てる。しかし、この手法では動作しません:(

ここ
events: { 
    radius_changed: function (e) { 
     if ($scope.circle.radius < 100) 
      $scope.circle.radius = 100; 
    } 
} 

がフルjsFiddleサンプルです:https://jsfiddle.net/q3ggodac/

答えて

1

既存サークルのradius属性を変更すると、angular-google-mapsライブラリは実際のサークルオブジェクトに変更を反映しません(それ以外の方法では機能しません)。

幸いにも、合意docsには、radius_changedイベントハンドラの最初のパラメータは生のgoogle.maps.Circleオブジェクトです。この半径はgetRadius()メソッドを使用して簡単に決定し、setOptions({radius: N})関数を使用して変更できます(docsセクション「サークルクラス」を参照)。したがって、コードは次のようになります。

events: { 
     radius_changed: function (circle_obj) { 
      $scope.circle.radius = circle_obj.getRadius(); //you can update the radius scope variable manually 
      if ($scope.circle.radius < 100){ 
        $scope.circle.radius = 100; 
        circle_obj.setOptions({radius:100}); 
      } 
     } 
} 
関連する問題