Google Maps API v3 - событие нажатия не срабатывает при нажатии маркера, когда открыто другое окно InfoWindow - PullRequest
1 голос
/ 22 июля 2011

У меня есть установка, в которой присутствует несколько маркеров, каждая из которых загружается в контент в одно информационное окно при его нажатии.

К сожалению, похоже, что событие щелчка маркера не запускается при нажатии, когда открыто другое окно.

Это похоже на странное поведение. Кто-нибудь еще обнаружил, что это так?

Спасибо

Мой код ниже:

var infoWindow  = new google.maps.InfoWindow();

if(markers) {
    var length = markers.length;
    for(var i = 0; i < length; i++) {
        var details = markers[i];
        markers[i] = new google.maps.Marker({
            title: details.name,
            position: new google.maps.LatLng(details.location[0],details.location[1]),
            locCode: details.locCode
        });
        markers[i].setMap(map);
        var thisMarker = markers[i];
        google.maps.event.addListener(thisMarker, 'click', (function(thisMarker, i, details) {
            // self calling function was the key to get this to work
            return function() {
                $.ajax({
                    url: 'js/locations/'+details.locCode+'.js',
                    dataType: 'script',
                    success: function(data) {
                        // do my specific stuff here, basically adding html to the info-window div via jQuery

                        // set the content, and open the info window
                        infoWindow.setContent($("#info-window").html());
                        infoWindow.open(map, thisMarker);
                    }
                });
            }
          })(thisMarker, i, details));
    }
}

1 Ответ

0 голосов
/ 22 июля 2011

Проверьте мой ответ здесь:

Jquery Google Maps V3 - Информационное окно всегда фиксируется на одном маркере

Я думаю, что это поможет решить вашу проблему.

Боб

...