我正在使用nokia.places.widgets.SearchBox控件来搜索用户选择的项目在地图上的位置和居中/缩放。

为此,我使用onSelect事件,因为它应该响应用户的选择(与返回结果后触发的onResults事件相反)。
将地图居中后,我将调用hideSuggestions()方法来隐藏SearchBox的结果列表。

我的问题是,当选择项目时,建议列表会正确消失,但仍保持“交互”状态。特别是,使用鼠标滚轮滚动时,搜索框将滚动到搜索项上。

除了从DOM中手动删除项目以外,是否有本机的方法可以明确关闭建议列表?

最佳答案

SearchBox documentation 中的回调的命名约定充其量是模棱两可的。仅当用户接受结果之后,并且仅当未定义自定义处理程序onResults()时,才会触发onSelect()回调。

根据您的描述,您看起来像是在遵循SearchBox的标准行为,因此建议您尝试执行以下操作:

var fromSearchBox = new nokia.places.widgets.SearchBox({
        targetNode: "fromSearchBox",
        template: "fromSearchBox",
        map: map,
        onResults: function (data) {
            startPoint =data.results.items[0].position;
            alert("fires");
            map.set("center", data.results.items[0].position);
        }
    });


当我运行此命令时,当用户选择一个选项时,我得到一个alert(),结果被隐藏,地图以结果为中心,并且鼠标滚轮不再起作用。

关于javascript - 在onSelect之后在SearchBox中从HERE Maps隐藏建议列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19157205/

10-09 18:39