2016-10-10 2 views
0

Я работаю с угловыми картами Google и пытаюсь ограничить радиус круга. . когда radius_changed пожаров событий проверить значение радиуса и если это меньше, чем 100 Поручаю это 100.Угловые Google Maps, как ограничить радиус круга?

Но этот метод не работает :(

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}); 
      } 
     } 
} 
Смежные вопросы