【问题标题】:Leaflet fitBounds incorrectly moves the center of the mapLeaflet fitBounds 错误地移动了地图的中心
【发布时间】:2016-08-30 14:12:37
【问题描述】:

我有一张地图,上面画了一个圆圈,放在地图的中心。圆圈始终出现在地图上。圆的半径可由​​用户调整。在每次半径变化时,我都会像这样调用 fitBounds:

leafletData.getMap().then(function(map){
  var currentDiameter = L.circle(map.getCenter(), $scope.radius);
  map.fitBounds(currentDiameter.getBounds());
});

有时 fitBounds 会移动地图的中心。我尝试在每次 fitBounds 调用后重新定位地图,但这并不理想。

提前致谢

【问题讨论】:

    标签: leaflet angular-leaflet-directive


    【解决方案1】:

    由于与bug #4740 相同的原因,在将圆添加到地图之前应该无法获得圆的边界。

    【讨论】:

    • 圆圈已添加到地图中。它总是在地图上,只是它的半径改变了。
    • 没有。通过运行L.circle(),您正在创建一个新实例。
    • 好的,谢谢你让我知道!如何选择现有圈子?
    • 创建一次圆圈,将其保存到var myCircle = L.circle(...) 之类的变量中,稍后再使用该变量。小心变量范围。
    • 我正在使用 angular-leaflet-directive 中的 paths 属性添加圆圈。
    猜你喜欢
    • 2021-04-22
    • 2012-01-15
    • 2012-07-23
    • 2016-10-15
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    相关资源
    最近更新 更多