0

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

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

My problem is that when the item is selected the suggestion list disappear correctly but remains "interactive". 特别是,使用鼠标滚轮滚动时,搜索框会在搜索项上滚动。

除了从 DOM 中手动删除项目之外,是否有一种本地方法可以绝对关闭建议列表?

4

1 回答 1

2

SearchBox 文档中回调的命名约定充其量是模棱两可的。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()时,当用户选择一个选项时,结果被隐藏,地图以结果为中心,鼠标滚轮没有进一步的效果。

于 2013-10-11T09:27:46.047 回答