在onSelect后隐藏搜索框中HERE地图的建议清单

时间:2013-10-03 10:48:47

标签: javascript here-api

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

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

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

除了从DOM手动删除项目之外,是否有一种本机方式可以完全关闭建议列表?

1 个答案:

答案 0 :(得分:2)

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(),结果被隐藏,地图以结果为中心,鼠标滚轮没有进一步的效果。