Javascript 如何访问谷歌地图标记变量

Javascript 如何访问谷歌地图标记变量,javascript,google-maps,Javascript,Google Maps,我有各种google maps标记,它们在循环中创建,输出如下: var marker1=new google.maps.Marker({position:new google.maps.LatLng(coordinates),map:map,title:'example'});google.maps.event.addListener(marker1,'click',function(){infwind(marker1,'<p>some info</p>')}); 我

我有各种google maps标记,它们在循环中创建,输出如下:

var marker1=new google.maps.Marker({position:new google.maps.LatLng(coordinates),map:map,title:'example'});google.maps.event.addListener(marker1,'click',function(){infwind(marker1,'<p>some info</p>')});

我得到一个错误,没有定义marker1。如何访问这些标记?我假设我必须做一些像google.maps.someotherstuff之类的事情,或者这些变量没有我想象的那么全局。

实际上,在Javascript中用
var
作为变量的前缀意味着该变量在包含函数的范围内是局部的。所有未声明的变量都将被视为全局变量。

您可以在创建标记时指定ID,然后稍后引用该ID

创建标记:

    var location = new google.maps.LatLng(x, y);
    var marker = new google.maps.Marker({
      position: location,
      map: map,
      id: place your id here
    });

markers.push(marker)
然后,您可以按照以下方式引用该id:

for (var i=0; i < markers.length; i++) {
  if (marker[i].id == '') {
    do something;
}
}
for(变量i=0;i
for (var i=0; i < markers.length; i++) {
  if (marker[i].id == '') {
    do something;
}
}