我正在使用 nokia.places.widgets.SearchBox 控件在地图上搜索地点并居中/缩放用户选择的项目。
为此,我正在使用 onSelect 事件,因为它应该响应用户选择(与返回结果后触发的 onResults 事件相反)。 在对地图居中后,我正在调用hideSuggestions()方法来隐藏SearchBox的结果列表。
我的问题是,当选择项目时,建议列表会正确消失但仍保持“交互式”。特别是,使用鼠标滚轮滚动时,搜索框会滚动搜索项目。
除了从DOM手动删除项目之外,是否有一种本机方式可以完全关闭建议列表?
答案 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()
,结果被隐藏,地图以结果为中心,鼠标滚轮没有进一步的效果。