borjacastillo
borjacastillo

Reputation: 269

Accessing a jQuery element Google Maps Listener

I am using jQuery with a Google Maps Listener. I have boxes in my map and I need to make changes on them when they are too close.

The problem is the next one:

I check if the boxes are close and then make them red (for example). I know the condition is OK because I have a "console.log" and everything is nice. Here is my code:

Little explanation: A marker is an element in the map. Every marker has his own infobox (the boxes in the map I want to change). A cluster is a group of markers.

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;
        }
    });

So, the "Close elements" console.log is appearing in console and the $(this.infobox) prints a jQuery element but when I do the "background red" statement it does not work.

Any help? Thanks

Upvotes: 2

Views: 70

Answers (1)

kaho
kaho

Reputation: 4784

I think you should use infobox.content_.style.cssText to set the new style instead. As it is shown in line 44 of this jsfiddle.

Upvotes: 1

Related Questions