2011-11-21 88 views
0

我添加标记,以我的谷歌地图这样的:从外面打开标记/ infowindow?

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.click()但它似乎没有工作。

任何想法?

回答

0

补充:

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'); 
相关问题