2011-07-29 3 views
0

je le code suivant dans le javascript API Google Maps v2:Comment accéder à l'argument overlay dans l'API Google Maps v3


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

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

Comme vous pouvez le voir, j'utiliser la section argument dans ma demande.

Dans le javascript v3, API Google Maps J'ai:

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

function mapClick( ??? J'ai essayé cela en v2, mais cela ne fonctionne pas. Je peux seulement accéder à l'emplacement du point cliqué.

Répondre

1

Vous devez ajouter l'événement à chaque recouvrement individuel.

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

Note: Je n'ai pas testé ce code