jquery - 如何使用谷歌地图隐藏 div

标签 jquery html css google-maps

我正在使用 HTML、CSS 和 jQuery 创建一个网站,其中有一个 Google map (使用 Google Maps API V3)、 map 上的一些标记以及页面底部最初隐藏的一些 div .如果相应的标记在 map 的当前视口(viewport)内,我想做的是使每个 div 可见(即,如果我能看到标记,我也想看到 div,如果我看不到标记,我不想看到 div)。任何帮助将不胜感激。

这些是 div,我想切换它们的可见性:

            <div class="bot-item r1">
                <h1>Athens</h1>
                <p>The capital city of Greece</p>
            </div>
            <div class="bot-item r2">
                <h1>Washington, D.C.</h1>
                <p>The capital city of the USA</p>
            </div>
            <div class="bot-item r3">
                <h1>Rome</h1>
                <p>The capital city of Italy</p>
            </div>
            <div class="bot-item r4">
                <h1>Berlin</h1>
                <p>The capital city of Germany</p>
            </div>
            <div class="bot-item r5">
                <h1>Paris</h1>
                <p>The capital city of France</p>
            </div>
            <div class="bot-item r6">
                <h1>Warsaw</h1>
                <p>The capital city of Poland</p>
            </div>

我将所有标记(总共 6 个标记)存储在一个数组中,并且我使用以下代码来尝试实现我想要的。不幸的是,它不起作用。 (我将下面的代码附加到 Google map 的“空闲”事件。)

        for(var i = 0 ; i <= 5 ; i++){
            var j = i + 1;

            if(map.getBounds().contains(markers[i].getPosition()) == true){
                $(".r" + j).show();
            }
            else{
                $(".r" + j).hide();
            }
        }

最佳答案

要检测标记是否可见,您应该使用 map.getBounds() ,然后对于每个标记,您应该使用以下方法测试当前 map 边界是否包含我们的标记:contains()方法和Marker.getPosition() .

我创建了一个 JSFiddle 来向您展示一个工作示例:http://jsfiddle.net/glafarge/mbuLw/

Google Maps - Visible Markers In Bounds

关于jquery - 如何使用谷歌地图隐藏 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20037247/

相关文章:

jquery - 如何检测用户当前在页面的哪一部分,比如在这个页面上?

Jquery弹出窗口显示和隐藏

javascript - 下个月倒计时 - 进度条 - JavaScript

html - 仅CSS的砌体布局

javascript - 获取表格单元格在溢出元素中的位置

php - 如何将复选框id添加到模态框?

jquery - 一张一张地填充不同宽度和高度的瓷砖

javascript - Google Feed API 日期到 HTML5 日期时间

javascript - 为什么 "HTML &lt;input type=' file'/>"has "files"属性在 JavaScript 中?

html - 当第一个没有固定长度时如何将div放在一边div