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

时间:2013-02-08 06:48:04

标签: javascript 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>')});

因为用“var”声明它不会使它成为具有全局范围的变量吗?

我需要访问各种标记变量中的所有信息用于不同目的,但我无法获取所需的信息。

我是谷歌地图的新手(如第一天)

当我尝试:

console.log(marker1);

我收到一个错误,即未定义marker1。我如何访问这些标记?我假设我要么做google.maps.someotherstuff之类的事情,要么这些变量根本不像我想的那样全球化。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以在创建标记时指定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;
}
}