2011-07-29 30 views
0

我有谷歌地圖API的JavaScript V2在下面的代碼:如何訪問overlay參數在谷歌地圖API V3


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

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

正如你所看到的,我用的參數部分在我的應用。

在谷歌地圖API的JavaScript V3,我有:

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

function mapClick( ???

我在v2中試過這個,但它不起作用。我只能訪問點擊點的位置。

回答

1

您需要將事件添加到每個單獨的疊加層。

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

注:我沒有測試此代碼