Leaflet:map.locate动态设置maxZoom

时间:2014-08-25 03:28:59

标签: leaflet

可以轻松跟踪用户位置并使用Leaflet显示位置标记

_map.locate({
    watch: true, 
    setView: true, 
    maxZoom: 13,
    enableHighAccuracy: true
})

和locationfound回调中的一些代码。

但是,用户可能希望缩放到不同的级别,但是当位置制作者更新时,地图总是缩放回定位maxZoom选项中设置的值。

有没有办法根据用户选择的缩放级别动态更改maxZomm值?

1 个答案:

答案 0 :(得分:1)

嗯,在源中挖掘一下之后就像这样简单:

收听 zoomend 事件

_map.on('zoomend', _changeLocateMaxZoom);

然后更新locateOptions maxZoom

function _changeLocateMaxZoom(e) {
    if (_map._locateOptions) {
        _map._locateOptions.maxZoom = _map.getZoom();
    }
}

Leaflet是一个精心设计的图书馆。