2012-01-03 127 views
1

我創建了一個谷歌地圖,我想添加一個標記列表。但我有一些剃刀 - JavaScript問題。
我的cshtml文件有一個模型@model IEnumerable<MCN.Domain.Entities.Location>
我的模型加載很好,它包含所有值。
我在瀏覽器中調試JS代碼,它使用addMarker方法,但在var marker = new google.maps.Marker({部分停止。
在Visual Studio中我有綠色的下劃線上@foreach (var item in Model) {與消息:「條件編譯已關閉」 這是JS部分:剃刀與JavaScript問題

<script type="text/javascript"> 
(function() { 
     window.onload = function() { 
      var mapDiv = document.getElementById('map'); 
      var latlng = new google.maps.LatLng('41.01146', '24.921659'); 
      var options = { styles: styleArray, 
       center: latlng, 
       zoom: 15, 
       mapTypeId: google.maps.MapTypeId.ROADMAP, 
       mapTypeControl: false     
      }; 
      var map = new google.maps.Map(mapDiv, options); 

      @foreach (var item in Model) {     
       @:addMarker(@item.Latitude, @item.Longitude, '@item.Name', '@item.DiscoveredBy'); 
      }   
     } 
    })(); 

function addMarker(latitude, longitude, title, description) 
{  
     var markerlatLng = new google.maps.LatLng(latitude, longitude); 
     var title = 'test'; 
     var description = 'test'; 
     var contentString = 'test'; 

     var infowindow = new google.maps.InfoWindow({ 
      content: contentString 
     }); 

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

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

JS從瀏覽器:

(function() { 
     window.onload = function() { 
      var mapDiv = document.getElementById('map'); 
      var latlng = new google.maps.LatLng('44.01146', '20.921659'); 
      var options = { styles: styleArray, 
       center: latlng, 
       zoom: 15, 
       mapTypeId: google.maps.MapTypeId.ROADMAP, 
       mapTypeControl: false     
      }; 
      var map = new google.maps.Map(mapDiv, options); 

       addMarker(20.921659, 44.01146, 'Svetozar markovic', 'user'); 
       addMarker(20.92829, 44.010333, 'Glavna Stanica', 'user'); 



     } 
    })(); 
+0

您可以查看生成和發佈了JS的來源是什麼? – 2012-01-03 19:40:36

+0

我更新了問題 – 1110 2012-01-03 19:45:47

+0

我懷疑我的地圖定義。它在功能上定義。也許這個「addMarker()」函數看不到地圖。我試圖初始化地圖功能,但然後地圖不是呈現:( – 1110 2012-01-03 19:50:40

回答

2

Visual Studio的ISN期待在<script>標籤中看到剃鬚刀標記。沒關係 - 希望他們將在未來增加對此的支持。

重要的是,您沒有在瀏覽器中收到javascript錯誤。

+0

Actualy有一個錯誤,這有助於我找到它。再傳一個參數給addMarker()函數「MAP」,它就起作用了,我討厭當我錯過這麼小的事情。 – 1110 2012-01-03 19:56:10

0

嘗試用圓括號圍繞代碼本身。這將消除你所看到的錯誤。

例子:@Url.Action("MyAction", new { my_param = "my_value" }))