Карта Bing не отображается при добавлении другого параметра в функцию

Я загружаю долготу и широту из моей базы данных, я хочу добавить дополнительное поле для моей функции и передать другие значения из моей базы данных, чтобы показать,когда я нажимаю на мой pin-код,он работает хорошо только с широтой и долготой в качестве параметров для функции AddData(широта,долгота), но как только я добавляю другое значение, как AddData(широта, долгота, название зоопарка) моя карта больше не отображается. Я не уверен в том, что я делаю неправильно, и я извиняюсь, если это простая ошибка, но я просто привыкаю к javascript.

<script type="text/javascript" src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=7.0"></script>

<script type="text/javascript">
var map = null, infobox, dataLayer;

function GetMap() {
    // Initialize the map
    map = new Microsoft.Maps.Map(document.getElementById("myMap"),
               { credentials: "API Bing Key" });

    dataLayer = new Microsoft.Maps.EntityCollection();
    map.entities.push(dataLayer);

    var infoboxLayer = new Microsoft.Maps.EntityCollection();
    map.entities.push(infoboxLayer);

    infobox = new Microsoft.Maps.Infobox(new Microsoft.Maps.Location(0, 0), { visible: false, offset: new Microsoft.Maps.Point(0, 20) });
    infoboxLayer.push(infobox);

    @foreach (var item in Model)
       {
              @: AddData(@item.latitude,@item.longitude,@item.ZooName);
              //till here
                }

}

function AddData(latitude, longitude,ZooName) {
    var pin = new Microsoft.Maps.Pushpin(new Microsoft.Maps.Location(latitude, longitude));
    pin.Title = latitude.toString();
    pin.Description = latitude.toString();
    Microsoft.Maps.Events.addHandler(pin, 'click', displayInfobox);
    dataLayer.push(pin);

}

function displayInfobox(e) {
    if (e.targetType == 'pushpin') {
        infobox.setLocation(e.target.getLocation());
        infobox.setOptions({ visible: true, title: e.target.Title, description: e.target.Description });
    }
}
</script>

<body onload="GetMap();">
<div id='myMap'></div>
</body>

1 ответ

  1. Добавление дополнительного параметра в функцию не должно привести к остановке работы карты. Я подозреваю, что при доступе к @item возникает ошибка.Значение ZooName. Я предполагаю, что это строка, она, вероятно, должна быть окружена кавычками. Вы должны увидеть ошибку в консоли браузеров. Таким образом, ошибка, скорее всего, не позволяет коду загрузить карту от запуска и, таким образом, карта никогда не загружается.