簡體   English   中英

基於Leaflet和AngularJS的地圖未正確加載

[英]Map based on Leaflet and AngularJS not loaded correctly

我基於Leaflet和AngularJS的地圖無法正確加載。 我不知道這是怎么回事,但是地圖圖塊的布局並未如預期的那樣。

這是基本圖:

底圖

這是我的代碼:

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


        $scope.defaults= {
            scrollWheelZoom: false
        };

        $scope.tiles = 'openstreetmap';
    }

由於在初始化地圖時調整了任何父容器的大小,經常會出現此問題。

為了告訴地圖有調整大小,可以調用map.invalidateSize();

也可能是您沒有手動調整任何父容器的大小,那么可能的解決方案是調用map.invalidateSize(); 文件准備好后。

要使用angular-leaflet-directive做到這一點,請在您的控制器中嘗試以下操作,該命令將注入leafletData

leafletData.getMap().then(function(map) {
    map.invalidateSize(false);
});

如果您對angularjs使用letletlet指令,則

檢查您的地圖容器是否具有ng-cloak屬性。 如果有,請將其刪除。

ng-cloak出現時地圖未加載

<div class="map-container" ng-cloak>
<leaflet class="map-container" markers="markers" lf-center="center" width="100%">
</leaflet>
</div>

不存在ng-cloak時加載地圖

<div class="map-container">
  <leaflet class="map-container" markers="markers" lf-center="center" width="100%">
  </leaflet>
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM