Нам нужно нарисовать геозоны с первого клика и убрать их на втором - PullRequest
0 голосов
/ 20 сентября 2018

Это мой код, который работает для первого щелчка, показывает геозону для всех routeStop, но при втором щелчке она не скрывает геозону.ЗДЕСЬ на каждом клике создается новая геозона, как с этим справиться?Таким образом, я могу нарисовать геозону, а по второму щелчку скрыть ее

    var beforeAnnCircleVisible = false
    button().css({position: 'absolute', top: 5, right: 55}).text('Show proceeding ann. geofence').click(function () {
         var $this = $(this)
         beforeAnnCircleVisible = !beforeAnnCircleVisible
       _.each(route.routeStop, function (routeStop) {
      var stop =  db.index.stop[routeStop.stopId]
 var location = new google.maps.LatLng(+stop.latitude, +stop.longitude)
 if (!stop)
 return false
 var beforeAnnCircle = new google.maps.Circle({
         strokeColor: 'green',
         strokeOpacity: 0.8,
         strokeWeight: 1,
        fillColor: 'green',
        fillOpacity: 0.35,
         map: map,
       center: location,
       radius: +routeStop.beforeAnnRadius || 0,
       visible: beforeAnnCircleVisible,
       editable: true,
       draggable: false,
        zIndex: 1
    })
    if (beforeAnnCircleVisible) {
     $this.text('Hide proceeding ann. geofence')
    }
   else {
      $this.text('Show proceeding ann. geofence')
   }
})
return false
})
.
...