Как получить доступ к аргументу наложения в Google Maps API v3 - PullRequest
0 голосов
/ 29 июля 2011

У меня есть следующий код в javascript v2 API Карт Google:


mylistener = GEvent.addListener(map2,'click',mapClick); 
...... 
...... 

function mapClick(section, clickedPoint){ 
   .... 
   if (section == null)) 
   .... 
} 

Как видите, я использую раздел аргументов в своем приложении.

В javascript v3 API Карт Google у меня есть:

google.maps.event.addListener(map2, 'click', mapClick);

function mapClick( ???

Я пробовал это в v2, но это не работает. Я могу получить доступ только к местоположению точки нажатия.

1 Ответ

1 голос
/ 29 июля 2011

Вам необходимо добавить событие к каждому отдельному наложению.

var markers = [
    {lat: -25.363882, lon: 131.044922, title: "foo"},
    {lat: -26.363882, lon: 130.044922, title: "bar"},
];

//event callback
function callback(overlay, event) {
    console.log(overlay, event);
}

//add the markers
for (var i = 0; i < markers.length; i++) {
     markers[i].obj = new google.maps.Marker({
        position: new google.maps.LatLng(markers[i].lat, markers[i].lon), 
        map:      map,
        title:    markers[i].title
    });
    //closure
    (function(marker){
        google.maps.event.addListener(marker, 'click', function (event) {
            callback(marker, event);
        });
    })(marker[i].obj);
}

примечание: я не проверял этот код

...