Javascript 基于传单和AngularJ的地图未正确加载

Javascript 基于传单和AngularJ的地图未正确加载,javascript,angularjs,leaflet,matplotlib-basemap,Javascript,Angularjs,Leaflet,Matplotlib Basemap,我基于传单和AngularJS的地图加载不正确。我不知道发生了什么,但地图的瓷砖并没有按应有的方式布置 function setMapPosition(){ $scope.center = { lat: 51.505, lng: -0.09, zoom: 8 }; $scope.defaults= { scrollWheelZ

我基于传单和AngularJS的地图加载不正确。我不知道发生了什么,但地图的瓷砖并没有按应有的方式布置

    function setMapPosition(){
        $scope.center = {
            lat: 51.505,
                lng: -0.09,
                zoom: 8
        };


        $scope.defaults= {
            scrollWheelZoom: false
        };

        $scope.tiles = 'openstreetmap';
    }
这是底图:

    function setMapPosition(){
        $scope.center = {
            lat: 51.505,
                lng: -0.09,
                zoom: 8
        };


        $scope.defaults= {
            scrollWheelZoom: false
        };

        $scope.tiles = 'openstreetmap';
    }

    function setMapPosition(){
        $scope.center = {
            lat: 51.505,
                lng: -0.09,
                zoom: 8
        };


        $scope.defaults= {
            scrollWheelZoom: false
        };

        $scope.tiles = 'openstreetmap';
    }
这是我的代码:

    function setMapPosition(){
        $scope.center = {
            lat: 51.505,
                lng: -0.09,
                zoom: 8
        };


        $scope.defaults= {
            scrollWheelZoom: false
        };

        $scope.tiles = 'openstreetmap';
    }

此问题通常是由于在映射已初始化时调整任何父容器的大小而发生的

    function setMapPosition(){
        $scope.center = {
            lat: 51.505,
                lng: -0.09,
                zoom: 8
        };


        $scope.defaults= {
            scrollWheelZoom: false
        };

        $scope.tiles = 'openstreetmap';
    }
为了告诉地图有一个调整大小的命令,你可以调用
map.invalidateSize()

    function setMapPosition(){
        $scope.center = {
            lat: 51.505,
                lng: -0.09,
                zoom: 8
        };


        $scope.defaults= {
            scrollWheelZoom: false
        };

        $scope.tiles = 'openstreetmap';
    }
也可能是您没有手动调整任何父容器的大小,那么一个可能的解决方案是调用
map.invalidateSize()文档准备好后

    function setMapPosition(){
        $scope.center = {
            lat: 51.505,
                lng: -0.09,
                zoom: 8
        };


        $scope.defaults= {
            scrollWheelZoom: false
        };

        $scope.tiles = 'openstreetmap';
    }
要使用,请在控制器内尝试以下注入
传单数据的操作:

    function setMapPosition(){
        $scope.center = {
            lat: 51.505,
                lng: -0.09,
                zoom: 8
        };


        $scope.defaults= {
            scrollWheelZoom: false
        };

        $scope.tiles = 'openstreetmap';
    }
leafletData.getMap().then(function(map) {
    map.invalidateSize(false);
});

如果您对angularjs使用传单指令,则

    function setMapPosition(){
        $scope.center = {
            lat: 51.505,
                lng: -0.09,
                zoom: 8
        };


        $scope.defaults= {
            scrollWheelZoom: false
        };

        $scope.tiles = 'openstreetmap';
    }
检查地图容器是否具有
ng-clope
属性。如果有,就把它拿走

    function setMapPosition(){
        $scope.center = {
            lat: 51.505,
                lng: -0.09,
                zoom: 8
        };


        $scope.defaults= {
            scrollWheelZoom: false
        };

        $scope.tiles = 'openstreetmap';
    }
当ng斗篷出现时地图未加载

    function setMapPosition(){
        $scope.center = {
            lat: 51.505,
                lng: -0.09,
                zoom: 8
        };


        $scope.defaults= {
            scrollWheelZoom: false
        };

        $scope.tiles = 'openstreetmap';
    }

当ng斗篷不存在时正在加载地图

    function setMapPosition(){
        $scope.center = {
            lat: 51.505,
                lng: -0.09,
                zoom: 8
        };


        $scope.defaults= {
            scrollWheelZoom: false
        };

        $scope.tiles = 'openstreetmap';
    }

实际初始化映射的代码在哪里?你正在使用哪一个图书馆结合传单和角。如果没有,那么首先需要提供绘制地图的代码。