访问jQuery元素Google Maps Listener

时间:2015-04-15 09:44:26

标签: javascript jquery google-maps google-maps-api-3

我正在使用带有Google Maps Listener的jQuery。我的地图中有盒子,当它们离得太近时我需要对它们进行更改。

问题是下一个问题:

我检查盒子是否关闭然后让它们变红(例如)。我知道条件还可以,因为我有一个" console.log"一切都很好。这是我的代码:

小解释: 标记是地图中的元素。每个标记都有自己的信息框(我希望更改地图中的框)。 群集是一组标记。

clusterListener2 = google.maps.event.addListener(markerCluster, 'click', function (clusterer) {
        zoomLimit=12;
        var myzoom = map.getZoom();
        var olderPosk=1000000;
        var olderPosD=1000000;
        if (myzoom>zoomLimit) {
            clusterClickController=1;
            $.each(clusterer.getMarkers(), (function (index, marker) {
                var restak=olderPosk-marker.position.k;
                var restaD=olderPosD-marker.position.D;
                if (restak<0) restak=restak*(-1);
                if (restaD<0) restaD=restaD*(-1);
                if ((restak<0.0001)&&(restaD<0.0001)) {
                    console.log("Close elements");
                    console.log($(this.infobox));
                    currentInfobox=$(this.infobox);
                    currentInfobox.css({"background" : "red"});
                }
                olderPosk=marker.position.k;
                olderPosD=marker.position.D;
                marker.marker.open(map, this);
                marker.infobox.open(map,this);

                marker.marker.isHidden = false;
            }));

        }
        else {
            clusterClickController=0;
        }
    });

所以,&#34;关闭元素&#34; console.log出现在控制台中,$(this.infobox)打印一个jQuery元素,但是当我执行&#34;背景红色&#34;声明它不起作用。

有任何帮助吗?感谢

1 个答案:

答案 0 :(得分:1)

我认为您应该使用infobox.content_.style.cssText来设置新样式。正如line 44 of this jsfiddle.

中所示