我正在使用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/