2011-11-11 3 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

모델의 각 항목에 대해 마커를 만듭니다. 그러나 마커 (클릭)에 이벤트 리스너를 추가하는 코드는 루프 외부에 있습니다.

이벤트 리스너는 모든 마커가 아니라 마지막 마커에만 추가됩니다.

관련 문제