English 中文(简体)
信息窗口关闭职能没有发挥作用
原标题:InfoWindow close() function is not working

我正试图管理<条码>InfoWindow的透镜。 页: 1 我阵列的定义是全球性的,因此我可以管理所有<条码>Infowindow物体,如:

I edited the code to add some details as Sean told:

            google.maps.event.addListener(markers[id],  click , function() {


                for ( var i = 0; i < infowindows.length; i++ ) {
                    var infoWin = infowindows[i];
                    if ( infoWin === undefined || infoWin === null ) {
                        continue;
                    }
                    infoWin.close();

                }

                map.panTo(markers[id].getPosition());
                infowindows[id].open(map,markers[id]);
            });

The .close() function is not doing anything. I know that I am accessing the objects in a proper way because I can call .open() and it works. Anyone have an idea about this issue? Thanks!

EDIT (14 / 8 /2012): 这似乎与安保部存在问题,因此,当我用一些JQuery显示地图时,我设法通过强迫展示方式加以固定:

$( #google-map ).css("display", "block !important");    

感谢你们的友好回答!

问题回答

我开始补充一个意见,但我有多项建议,因此我为澄清问题增添了充分答案。 以下是我的初步反馈:

  1. Java本for - in 休息时间用于 点数物体特性,如果您的意图是iterate 射线内容,则一般应避免。 因此,将休息控制改为:

    (千米=0;i < infowindows.length); i++ {

  2. 无法肯定地知道,但index within for 序号定义不包括<代码>var关键词,因此可能产生一个全球变量。 如果你如第1号所示,同意使用传统的<代码>,则消除这一可能的问题。

  3. 似乎不需要警卫条件:if(Infowindows[index]=“object”>{,因此试图完全取消测试。 如果你知道这些阵列包含<条码>InfoWindow,就没有必要。

  4. >>>)是不必要的;我认为它不会造成任何伤害,但应当删除。

。 该法典是否产生任何错误?

落实你的意见:

页: 1 如果您认为,将在本阵列中有<代码>null的成员。 如果您有尚未分配的阵列成员,则将予以<代码>un specified<>t>>>;如果成员为null,则是因为该守则将其设定为null<>。 但就饮食而言,你可以处理这些情况,并且仍然使用阵容:

(千米=0;i < infowindows.length); i++ {
    var infoWin = infowindows[i];
    if ( infoWin === undefined || infoWin === null ) {
        //skips the remainder of the loop code and starts a new iteration
        continue;
    }

    infoWin.close();
}

采用<代码>for - in 当你的意图是 lo时,这是一种不好的做法,有时会奏效,但最终会使你陷入困境。 它列举了物体的特性,甚至将从原型链中提取财产,因此,你永远不会完全相信你会得到的东西。 此外,for - in,不得列举阵列的特性,从而有时会造成问题,因为有些代码假定阵列正在按顺序进行渗透。

如果你使用类似的逻辑来打“ open(>) ,那么我就必须假设,该守则正在改变两个航道之间的阵列,并造成你称之为close()的漏洞。 如果你在提问中增加一些法典,那将是有益的。

同样,对评论来说,这太长了。

如果infoWin.close()> isn tding thefoWindow,最明显的原因是info Win 不是InfoWindow。

            for ( var i = 0; i < infowindows.length; i++ ) {
                var infoWin = infowindows[i];
                if ( infoWin === undefined || infoWin === null ) {
                    continue;
                }
                infoWin.close();
            }

这一漏洞通过你称之为<代码>infowindows的一系列物体,以及你测试的<代码>info Win不是un defined or null,而是n teck that it s actual anfoWindow.

由于<代码>.close()t 造成错误,无论它有close()。 只有InfoWindow有getContent()方法,因此,你可以测试这一方法,以此积极表明该物体实际上是InfoWindow。

如果它is anfoWindow,那么我认为我们需要与你的地图挂钩。 在这种情况下,<代码>close()方法应当发挥作用,因此必须加以改变。





相关问题
How to decide the current point reach on google map?

How to decide the current point reach on google map? I have a list of points (pickup points) of a route that I want to show in my google map with polyline. Now i have to get the current location of ...

Topographical or relief data in Map APIs

I was wondering if anyone knew of any map APIs that offer topographical or relief data? I ve had a quick look at Google and Bing APIs, but could find nothing there. Google allow you to view a map as ...

Using maps on Windows Mobile

I m experimenting with maps on different mobile platforms. Getting Google Maps to work on Android was easy, following this tutorial. Getting the same to work on Windows Mobile is a different matter. ...

Adding a custom icon to a google map

I need a hand adding a custom icon to some Google Maps javascript. Code below for your reference: function populateMap() { var map = new GMap2(document.getElementById("map")); map.setCenter(new ...

RSS to KML Overlay

I m want to display my blog as a Google Map overlay (each post contains geotags). How can I dynamically create a KML overlay from an RSS? Or better, how can I create a loop (PHP) that would display ...

开放街道地图管理员

我需要开放Street的标记管理员。 地图,如山角地图。

热门标签