Angularjs 与传单一起使用时,传单循环营销活动不起作用。加热

Angularjs 与传单一起使用时,传单循环营销活动不起作用。加热,angularjs,leaflet,ui-leaflet,Angularjs,Leaflet,Ui Leaflet,我正在使用我们的角度项目的用户界面传单。我们也有传单。热创建热图 问题是,每当数据更新时,圆标记上的事件就会停止工作 我面临的另一个小问题是热图不会更新,除非我使用超时。 我不知道我做错了什么,任何帮助都是感激的 我已经创建了一个示例jsfiddle 至于当热图打开时无法单击圆圈标记的原因,可能只是SVG元素堆叠的问题:热图在圆圈标记后绘制,覆盖整个地图,因此您无法再使用鼠标与标记交互 您只需隐藏并再次显示热图覆盖(甚至不需要更新)即可触发此问题。或使用@Jieter circlemarker.

我正在使用我们的角度项目的用户界面传单。我们也有传单。热创建热图

问题是,每当数据更新时,圆标记上的事件就会停止工作

我面临的另一个小问题是热图不会更新,除非我使用超时。 我不知道我做错了什么,任何帮助都是感激的

我已经创建了一个示例jsfiddle


至于当热图打开时无法单击圆圈标记的原因,可能只是SVG元素堆叠的问题:热图在圆圈标记后绘制,覆盖整个地图,因此您无法再使用鼠标与标记交互


您只需隐藏并再次显示热图覆盖(甚至不需要更新)即可触发此问题。

或使用@Jieter circlemarker.bringToFront()只会将该特定标记置于其他标记之前。True。如果你有很多小事情和一件大事情在前面,那么还有bringToBack()
heatMapData = [
    [60.265625, -121.640625], [60.671875, -96.328125]
]
heatMapData_1 = [
    [37.265625, -121.640625], [38.671875, -96.328125]
]

circleData = {
  'features': [
    {
      'geometry': {
        'type': 'Point',
        'coordinates': [-120.9998241, 39.7471494]
      },
      'type': 'Feature',
      'properties': {
        'popupContent': 'This is popup 1'
      }
    }
  ]
};
circleData_1 = {
  'features': [
    {
      'geometry': {
        'type': 'Point',
        'coordinates': [-100.9998241, 39.7471494]
      },
      'type': 'Feature',
      'properties': {
        'popupContent': 'This is popup2'
      }
    }
  ]
};
onEachFeature = function(feature, layer) {
  return layer.bindPopup(feature.properties.popupContent);
};
$scope.updateData = function() {
  if($scope.layers.overlays.hasOwnProperty('heat')){
            delete $scope.layers.overlays['heat'];
  }

  $scope.geojson = {};
  //setTimeout(function(){ buildMap(heatMapData_1, circleData_1) }, 300);
    buildMap(heatMapData_1, circleData_1);
}


buildMap = function(heatMapData, circleData){
    $scope.geojson = {
    data: circleData,
    onEachFeature: onEachFeature,
    pointToLayer: function(feature, latlng) {
      return L.circleMarker(latlng, style);
    }
        };
  $scope.layers.overlays = {
    heat: {
      name: 'Heat Map',
      type: 'heat',
      data: heatMapData,
      layerOptions: {
        radius: 10,
        scaleRadius: true,
        maxZoom: 7,
        minOpacity: .5,
        max: 1,
        gradient: {
          .4: 'green',
          .6: 'yellow',
          1: 'red'
        }
      },
      visible: true
    }
  };
}
buildMap(heatMapData, circleData)