我有各种谷歌地图标记,这些标记在循环中创建并输出如下:
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之类的事情,要么这些变量根本不像我想的那样全球化。
答案 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;
}
}