Javascript 如何在angular应用程序中包含传单.markercluster?

Javascript 如何在angular应用程序中包含传单.markercluster?,javascript,angular,leaflet,dc.js,leaflet.markercluster,Javascript,Angular,Leaflet,Dc.js,Leaflet.markercluster,我正在构建一个angular应用程序,其中我希望包括一张传单地图,并使用传单.markercluster 我正在使用cdn制作传单。markercluster 下面是我的component.ts import { Component, OnInit, AfterViewInit } from '@angular/core'; import * as L from 'leaflet'; declare var d3: any; declare var cross

我正在构建一个angular应用程序,其中我希望包括一张传单地图,并使用传单.markercluster

我正在使用cdn制作传单。markercluster

下面是我的component.ts

    import { Component, OnInit, AfterViewInit } from '@angular/core';

    import * as L from 'leaflet';

    declare var d3: any;
    declare var crossfilter: any;
    declare var dc: any;


    @Component({
      selector: 'app-charts',
      templateUrl: './charts.component.html',
      styleUrls: ['./charts.component.css']
    })
    export class ChartsComponent implements OnInit {

      constructor() {
      }

      ngOnInit() {
      }

      ngAfterViewInit() {

        d3.json("assets/data.json", function(data) {
          drawMarkerSelect(data);
        });

        function drawMarkerSelect(data) {
          var ndx = crossfilter(data);
          var all = ndx.groupAll();
          var groupname = "marker-select";
          var facilities = ndx.dimension(function(d) { return [d.latitude, d.longitude]; });
          var facilitiesGroup = facilities.group().reduceCount();

          var pie = dc.pieChart(".pie",groupname);

          var marker = dc.leafletMarkerChart(".map",groupname)
            .dimension(facilities)
            .group(facilitiesGroup)
            .zoom(9)
            .center([34.5019319,-117.211703])
            .width(600)
            .height(400)
            .fitOnRender(true)
            .fitOnRedraw(true)
            .cluster(true);

          var typeDim = ndx.dimension(function(d) { return d.type; });
          var typeGroup = typeDim.group().reduceCount();

          pie
            .dimension(typeDim)
            .group(typeGroup)
            .width(200)
            .height(200)
            .renderLabel(true)
            .renderTitle(true)
            .ordering(function (p) {
              return -p.value;
            });

          dc.renderAll(groupname);
          return {marker: marker, pie: pie};
        }
      }
    }
饼图看起来不错,但地图不是

我不断发现以下错误:

未捕获引用错误:L未在传单.markercluster.js:1中定义

而我甚至没有在代码中使用别名L


任何形式的帮助都将不胜感激。谢谢。

markerCluster js可能在传单js之前加载。您可以导入HTML代码中的所有内容(传单和markercluster),注意顺序。@Istopopoki我删除了CDN,并执行了
declare var require:any;要求(“传单”);设L=要求(“传单”);要求(“传单.标记聚类”)它现在可以工作了。地图来了。尽管在控制台中未定义
L