【问题标题】:ng Leaflet Directive issue with ngRepeat + map.invalidateSize()ngRepeat + map.invalidateSize() 的 ng Leaflet 指令问题
【发布时间】:2015-08-13 15:55:53
【问题描述】:

我有一个基于异步调用生成一系列地图的页面。当地图首次加载时,它们缺少图块,如下图所示。

我可以通过调用map.invalidateSize() 重绘每个瓷砖来解决这个问题。目前我在加载时创建了 8 个,其余部分通过 Angular 指令进行分页。切换到任何其他 8 或来回切换将“修复”前 8。

由于前 8 个是 ngRepeat 的乘积,它们都具有相同的 ID。理论上,我可以将索引或其他一些字符串修改添加到 8 个地图中的每一个的 id 中,并创建以下代码的循环以在每个地图上运行 map.invalidateSize(),但这似乎是一个迂回和整体糟糕的解决方案问题。谁有更好的建议?

leafletData.getMap('leafletMap-trips').then(function(map) {
    setTimeout(function () { map.invalidateSize() });
});

【问题讨论】:

    标签: javascript angularjs angularjs-ng-repeat leaflet angular-leaflet-directive


    【解决方案1】:

    事实上,不。传单 API 仅允许每个地图的大小失效,因此您几乎需要按照您的说明进行操作。

    【讨论】:

    • 谢谢 Pierre,有没有办法获取当前受指令控制的所有地图的列表?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 2017-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多