Бритва с выпуском JavaScript - PullRequest
       3

Бритва с выпуском JavaScript

1 голос
/ 03 января 2012

Я создал карту Google и хочу добавить на нее список маркеров.Но у меня есть некоторые проблемы с javascript.Мой файл cshtml имеет модель @model IEnumerable<MCN.Domain.Entities.Location>Моя модель загружается нормально, она содержит все значения.Я отлаживаю код JS в браузере, и он попадает в метод addMarker, но останавливаюсь на var marker = new google.maps.Marker({ части.В Visual Studio у меня есть зеленое подчеркивание на @foreach (var item in Model) { с сообщением: «Условная компиляция выключена» Это JS-часть:

<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');



        }
    })();

Ответы [ 2 ]

2 голосов
/ 03 января 2012

Visual Studio не ожидает увидеть разметку Razor в теге <script>.Это нормально - надеюсь, они добавят поддержку для этого в будущем.

Важно то, что вы не получаете ошибки javascript в своем браузере.

0 голосов
/ 04 января 2012

Попробуйте окружить сам код скобками.Это избавит от ошибки, которую вы видите.

Пример: @Url.Action("MyAction", new { my_param = "my_value" }))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...