2011-11-11 8 views
0

私は自分のコントローラーにある緯度と経度の助けを借りて地図上に複数の場所マーカーを表示したいと思います。ビルドエラーはなく、さまざまな場所マーカーで地図を見ることもできますが、最後の情報ウィンドウだけがクリックイベントに応答しています。あなたは、マーカーを作成しているモデル内の各項目についてはいくつかの経度と緯度の助けを借りてGoogleマップにマーカーを表示

@section Script { 

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 

} 
    <div id="map_canvas" style="width: 875px; height: 600px"> 
</div> ` 

<script type="text/javascript"> 
     //display the map      

     var stockholm = new google.maps.LatLng(59.32522, 18.07002); 
     var myOptions = { 
       zoom: 4, 
       center: stockholm, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      }; 

    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    //display markers 
    @foreach (var item in Model) 
    { 
    <text> 
     var latLng = new google.maps.LatLng('@(item.Latitude)', '@(item.Longitude)'); 
     var title = '@(item.Title)'; 
     var contentString = '<h3>' + title + '</h3>' 


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


    var infoWindow = new google.maps.InfoWindow(); 


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

    </text> 
    } 
</script> 
+0

本当に、あなたが提供したものよりもはるかに多くのコンテキストが必要です。あなたの問題に精通していない誰かがそれを理解できるように編集を検討してください。 –

答えて

0

。ただし、イベントリスナーをマーカーに追加するコード(クリックの場合)はループの外にあります。

イベントリスナーは、すべてのマーカーではなく、最後のマーカーに追加されています。

関連する問題