ErBhati Ответов: 2

Удаление кругов с карты Google


Привет,
я хочу удалить первый нарисованный круг и добавить новый круг с новым радиусом на карте.
как я это делаю?

Что я уже пробовал:

var circle = new google.maps.Circle({
    strokeWeight: 1.0,
    fillOpacity: 0.1
  });
  circle.setMap(null);
  
  var radus = 300;
  var sel_rads = $('#mapradius option:selected').val();
  if (sel_rads != "0") {     
      radus = sel_rads * 100;
  }  
  var cityCircle = new google.maps.Circle({
      strokeColor: '#000',
      strokeOpacity: 0.8,
      strokeWeight: 2,
      fillColor: '#000',
      fillOpacity: 0.05,
      radius: radus,
      map: map,
      center: map.center
  });

  this.set('distance', opt_distance);
  this.set('active', false);
  this.bindTo('bounds', circle);

  circle.bindTo('center', this);
  circle.bindTo('zIndex', this);
  circle.bindTo('map', this);
  circle.bindTo('strokeColor', this);
  circle.bindTo('radius', this);

CHill60

Что происходит, когда вы запускаете свой код?

ErBhati

снова рисуется новый круг. с новым радиусом

Peter_in_2780

Можете ли вы изменить непрозрачность на вашем первом круге на ноль? Он все еще будет там, но невидим.

2 Ответов

Рейтинг:
2

Member 14715149

Вы пробовали вызвать map.clear(); прежде чем пытаться нарисовать второй круг?


Рейтинг:
15

ErBhati

вот мое решение

   distanceWidget.set('map', null);

and distanceWidget is:
 distanceWidget = new DistanceWidget({
                map: map,
                distance: rads, // Starting distance in km.
                maxDistance: 0.5, // Twitter has a max distance of 2500km.
                color: '#000000',
                activeColor: '#5599bb',
                sizerIcon: '../Contents/Images/resize-off.png',
                activeSizerIcon: '../Contents/Images/resize.png'
            });