2011-02-08 18 views
2

Googleマップapi(v3)とInfoWindowsには、添付されているマーカーのクリックイベントに何の問題もありません。私がjavascriptをデバッグするとき、MarkersとInfoWindowが正しく作成されているように見えるので、クリックイベントリスナーを追加するときに間違っていると仮定しています。GoogleマップInfoWindowがクリックイベントで開かない

以下は、マーカーの追加などです。問題が何であるか誰にでも見えますか?

$.post("/Club/SearchClubsByLocation", { latitude: searchLat, longitude: searchLng }, 
      function (clubs) { 
       $.each(clubs, function (i, club) { 
        var LL = new google.maps.LatLng(club.Latitude, club.Longitude); 
        pointArray.push(LL); 

        var infoWindow = new google.maps.InfoWindow({ 
         content: club.ClubName + " HELLO!!!" 
        }); 

        var marker = new google.maps.Marker({ 
         map: map, 
         position: LL 
        }); 

        google.maps.event.addListener(marker, 'click', function() { 
         infowindow.open(map, marker); 
        }); 

        markerArray.push(marker); 
       }); 

       for (i in pointArray) { 
        bounds.extend(pointArray[i]); 
       } 

       map.fitBounds(bounds); 
       pointArray = []; 
      }, 
      "json" 
     ); 

私は最終的に情報ウィンドウを作成して開くにはマーカーにクリックリスナを追加するポスト関数の外機能を有することで、それを解決した任意の提案のおかげで、

リッチ

答えて

10

情報ウィンドウ

$.post("/Club/SearchClubsByLocation", { latitude: searchLat, longitude: searchLng }, 
    function (clubs) { 
    $.each(clubs, function (i, club) { 
     var LL = new google.maps.LatLng(club.Latitude, club.Longitude); 
     pointArray.push(LL); 

     var marker = new google.maps.Marker({ 
     map: map, 
     position: LL 
     }); 

     addInfoWindow(marker, club.ClubName); 

     markerArray.push(marker); 
    }); 

    for (i in pointArray) { 
     bounds.extend(pointArray[i]); 
    } 

    map.fitBounds(bounds); 
    pointArray = []; 
    }, 
    "json" 
); 

function addInfoWindow(marker, content) { 
    var infoWindow = new google.maps.InfoWindow({ 
     content: content 
    }); 

    google.maps.event.addListener(marker, 'click', function() { 
     infoWindow.open(map, marker); 
    }); 
} 

あなたがここに

見られるように、複数の情報ウィンドウを追加するために別々の機能を必要とするようですの

Event Closures

乾杯

リッチ

あなたの答えを投稿するための
+0

ありがとう!それは私をたくさん助けました。 –

+0

こんにちは。私は同様の問題に直面していると私はあなたのソリューションを試みたが、残念ながらそれは動作しません。あなたは一見を持てますか? [私の質問はこちら](http://stackoverflow.com/questions/35456293/google-map-infowindow-not-opening)どうもありがとう! –

関連する問題