将地图缩放到拼贴包含要素的位置

时间:2016-02-03 20:44:05

标签: leaflet

是否可以确定某个地图特征存在于哪个缩放级别并缩小到该级别?

因此,例如,如果我想缩小到例如水的水平。在我的情况下,这可能是海洋,所以我可以缩小直到海拔高度为0,或者我可以翻转它的头部并显示海洋,但缩小直到我看到海岸线(海拔+1)

是的我可以看到使用海拔高度的问题......例如,如果地图显示的是海拔2000英尺的湖泊,但我认为这是一个有趣的练习,可以把它放到那里看看会有什么回来

1 个答案:

答案 0 :(得分:1)

var marker = L.circle([lat,lon], 1, {
    color: '#fff',
    fillColor: '#fff',
    opacity: 0,
    fillOpacity: 0,
    }).addTo(map);

map.on('move', function() {
    bounds = map.getBounds();

    if (bounds.contains(marker.getLatLng())) {
        return;
    }else{
      console.log('can not find marker.');
    }
});

这将创建一个具有自定义经度/纬度的不可见标记(因此,如果您想要它在海洋中,获取该海洋位置的坐标并在标记中设置lat / lon参数)。

然后每当移动地图时(当边界移动时),它将运行检查以查看您的标记当前是否可见。如果它是可见的,那么没有问题,没有必要的行为。如果不?它可以执行您想要的任何操作,您只需要将else条件中的控制台日志替换为实际所需的行为。

这种做法很糟糕,但应该达到你想要的目的。