为什么Leaflet搜索框如此容易消失?以及如何保持它?

时间:2017-11-26 13:30:01

标签: javascript jquery search leaflet

我已实施Leaflet search-box扩展名。
每当我使用鼠标在地图上平移时,搜索框立即消失,用户每次都必须重新输入整个查询。
我想要搜索框和它的查询,直到用户按下清除按钮 显示:块;添加和删​​除以显示/隐藏搜索框。我想只允许在用户清除查询时发生崩溃,而不是鼠标移动。

或者我试图保持查询,这样用户不必每次都重新输入。通过捕获崩溃事件并存储查询。但在那时,盒子已经被清理干净,没有文字需要记住。

var timeout = {};
var oldQuery = "";
controlSearch.on('search:expanded', function () {
    var searchBox = this._input;
    searchBox.value = oldQuery;
    this._input.onkeyup = function () {
        clearInterval(timeout);
        timeout = setTimeout(function () {
            var query = searchBox.value;
            search(query, searchItems, searchResultsLayer);
            if (query.length > 0) {
                if (!searchResultsShown) {
                    searchResultsLayer.addTo(map);
                }
            }
            else {
                if (searchResultsShown) {
                    searchResultsLayer.removeFrom(map);
                }
            }
        }, 200);
    };
}).on('search:collapsed', function () {
    oldQuery = this._input.value;
});

0 个答案:

没有答案