Отображение маркеров на карте Google с помощью нескольких значений долготы и широты - PullRequest
0 голосов
/ 11 ноября 2011

Я хочу отобразить несколько меток на карте с помощью лат и лонгов, которые есть в моем контроллере.Там нет ошибок сборки, и я также могу видеть карту с различными метками, но только последнее информационное окно реагирует на событие нажатия.

@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>

1 Ответ

0 голосов
/ 18 ноября 2011

Для каждого элемента в модели вы создаете маркер.Однако код для добавления прослушивателя событий в маркер (для клика) находится вне цикла.

Прослушиватель событий добавляется только к последнему маркеру, а не к каждому маркеру.

...