gpt4 book ai didi

javascript - Google Maps v3 中的 "marker.setVisible(false)"和 "marker.setMap(null)"有什么区别?

转载 作者:行者123 更新时间:2023-12-03 08:27:12 25 4
gpt4 key购买 nike

我想清除 Google map 上的标记。
marker.setVisible(false) 和有什么区别和 marker.setMap(null) ?

但我不知道,哪个是正确的?

最佳答案

这两种方法之间的区别似乎没有明确记录。但是,请注意以下几点:

  • 当您使用 setMap(null) ,您的标记将失去对 Map 的引用.如果您不保留对 Map 的引用对象,您将无法重新显示标记。
  • 此外,setMap()方法不会触发 visible_changed事件,而 setVisible()方法会(如果可见性实际上被切换)。

  • 例子:
    var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 4,
    center: new google.maps.LatLng(-25.363, 131.044),
    mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var marker = new google.maps.Marker({
    position: new google.maps.LatLng(-25.363, 131.044),
    map: map
    });

    google.maps.event.addListener(marker, 'visible_changed', function() {
    console.log('visible_changed triggered');
    });

    marker.setVisible(false); // visible_changed triggered
    marker.setVisible(true); // visible_changed triggered
    marker.setMap(null); // visible_changed not triggered
    marker.setMap(map); // visible_changed not triggered

    我想我们应该使用 setVisible(false)当我们打算在 map 上重新显示标记时的方法, setMap(null)当我们不再展示它时。

    关于javascript - Google Maps v3 中的 "marker.setVisible(false)"和 "marker.setMap(null)"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3647711/

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