Открыть маркер / информационное окно снаружи? - PullRequest
0 голосов
/ 21 ноября 2011

Я добавляю маркеры на свою карту Google следующим образом:

    function createMarker(location, info) {
        var marker = new google.maps.Marker({
            map: map,
            position: location
        });

        google.maps.event.addListener(marker, "click", function () {
            if (infowindow) infowindow.close();
            infowindow = new google.maps.InfoWindow({ content: info, title: 'test' });
            infowindow.open(map, marker);
        });
    }

Как я могу получить доступ и открыть маркеры без ручного нажатия на карту?

Я пытался сохранить объект marker и выполнить marker.click(), но, похоже, он не работает.

Есть идеи?

1 Ответ

0 голосов
/ 22 ноября 2011

Добавлено:

var markers = new Array();

function getMarkerbyLocation(location) {
    for (var i = 0; i < markers.length; i++) {
        if (markers[i].getPosition().lat() == location.lat() && markers[i].getPosition().lng() == location.lng())
            return markers[i];
    }
}

Изменено:

function createMarker(location, info) {
    var marker = new google.maps.Marker({
        map: map,
        position: location
    });

    google.maps.event.addListener(marker, "click", function () {
        if (infowindow) infowindow.close();
        infowindow = new google.maps.InfoWindow({ content: info });
        infowindow.open(map, marker);
    });

    // Modification here!
    markers.push(marker);
}

Некоторые события на странице выполняют следующее:

google.maps.event.trigger(getMarkerbyLocation(new google.maps.LatLng(53.43306, 9.98556)), 'click');
...