【问题标题】:Check/uncheck all button to show/hide all markers Google maps api选中/取消选中所有按钮以显示/隐藏所有标记 Google 地图 api
【发布时间】:2018-01-23 17:57:21
【问题描述】:

谁能帮我解决以下问题:我从几个来源结合了一些 javascript 来制作一个带有下拉菜单的谷歌地图。从这个菜单中,我可以按类别在地图上放置/隐藏标记。 那部分工作正常,但现在我试图让菜单内的“检查所有”/“取消检查所有”按钮工作......到目前为止,这些按钮确实检查/取消选中复选框,但地图上的标记是没有相应的响应。

我尝试了几个选项,例如 Remove all markers google map v3 & Google Maps API v3: How to remove all markers? & Hide particular marker google maps api

直到现在我无法让它工作......(我的基本 javascript 知识非常有限......) 谁能给个提示?

这是一个有效的小提琴

 `http://jsfiddle.net/n86zxopp/`

【问题讨论】:

  • 您正在检查这些框,但并未启动它们背后的实际事件。
  • 没错,这正是正在发生的事情。这就是为什么我试图用'marker.setMap(null);'之类的东西来清除地图的原因我还尝试使用 javascript 中的隐藏/显示功能,但我无法让它工作

标签: javascript google-maps google-maps-markers


【解决方案1】:

请检查此http://jsfiddle.net/n86zxopp/2/

我已经更新了你的点击功能,比如

function check() {
  $('input[type="checkbox"]').prop("checked", true).change();
}

function uncheck() {
  $('input[type="checkbox"]').prop("checked", false).change();
}

【讨论】:

  • 也许,知道如何最初将所有类别设置为“隐藏”吗?现在我必须一个一个地设置所有类别,例如“ hide("DaR"); hide("AmLeg"); "
  • 是的..你可以喜欢markers.forEach((marker) => marker.setVisible(false))
  • 好的,继续我的项目,我尝试在 javascript 中插入大约 10.000 个标记。我预计它不起作用(我已经阅读过)但我只是想尝试一下。
  • 所以,我在 javascript 本身中插入了大约 10.000 个标记(和大约 200 个类别),但这没有用……有人能解释一下为什么这不起作用吗? (标记最初都是隐藏的,仅在选中复选框时显示)。
猜你喜欢
  • 2018-07-02
  • 1970-01-01
  • 2020-10-24
  • 2015-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-26
  • 1970-01-01
相关资源
最近更新 更多