gpt4 book ai didi

google-maps - 使用 knockout JS ko.utils.arrayFilter 设置标记可见

转载 作者:行者123 更新时间:2023-12-01 08:21:15 24 4
gpt4 key购买 nike

大家好,我正在尝试创建一个应用程序,在进行 knockout 搜索时将适当的标记设置为可见。

应用程序基本上是。当有人搜索它下面的列表时,过滤列表并仅使与过滤列表相关联的标记在 map 上可见。我已经创建了一个 ko.utils.arrayFilter 并且我试图只设置 item.marker.setVisible(true)

我的 Github 链接是 https://github.com/Aimpotis/map3

再次感谢您和对社区的尊重,它帮助我学到了很多东西

最佳答案

您只需要设置标记的可见性以匹配它是否被发现:

if (!filter) {
// this is new
ko.utils.arrayForEach(self.listLoc(), function (item) {
item.marker.setVisible(true);
});
return self.listLoc();
} else {
return ko.utils.arrayFilter(self.listLoc(), function(item) {
var result = (item.title.toLowerCase().search(filter) >= 0)
item.marker.setVisible(result); // this is a new line
return result;
});
}

Working fiddle .

注意:除非您支持特别旧的浏览器,否则您可以使用 Array filter method而不是 Knockout 的 arrayFilter 实用程序,和 .foreach而不是 arrayForEach

关于google-maps - 使用 knockout JS ko.utils.arrayFilter 设置标记可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45422066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com