0

ループで作成され、以下のように出力されるさまざまな Google マップ マーカーがあります。

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 のようなことをしなければならないか、これらの変数が思ったほどグローバルではないと思います。

4

2 に答える 2

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;
}
}
于 2013-02-08T08:37:44.630 に答える
0

実際、varJavascript で変数の前に を付けることは、その変数がスコープ内でそれを含む関数に対してローカルであることを意味します。宣言されていない変数はすべてグローバルと見なされます。

于 2013-02-08T08:21:55.667 に答える