Javascript 从C#对象在Web应用程序中的Google Maps上创建多个标记点

Javascript 从C#对象在Web应用程序中的Google Maps上创建多个标记点,javascript,c#,asp.net,google-maps,webforms,Javascript,C#,Asp.net,Google Maps,Webforms,我有一个带有C#代码的Web应用程序,它可以创建一个对象列表,其中包含long和lat。然后我想使用Javascript在Google地图上为它们创建标记点。我目前有以下代码: var marker; for (var i = 0; i < ('<%= Buses.Count %>' - 1); i++) { marker = new google.maps.Marker({ position: new google.maps.LatLng(

我有一个带有C#代码的Web应用程序,它可以创建一个对象列表,其中包含long和lat。然后我想使用Javascript在Google地图上为它们创建标记点。我目前有以下代码:

  var marker;
  for (var i = 0; i < ('<%= Buses.Count %>' - 1); i++) {
       marker = new google.maps.Marker({
       position: new google.maps.LatLng('<%= Buses['i'].latitude %>', '<%= Buses['i'].longitude  %>'),
        map: map
       });
  }
var标记;
对于(变量i=0;i<(''-1);i++){
marker=新的google.maps.marker({
位置:新的google.maps.LatLng('',''),
地图:地图
});
}
这不起作用,我相信错误在于我引用“I”来表示要使用列表中的哪个对象

如果我在没有for循环的情况下手动设置标记点,并将['I']更改为[0],则将放置标记。但是,由于项目数量不断变化,达到100个,我需要使用for循环。我已尝试删除我周围的“”,这将生成一个错误

“我在当前上下文中不存在。”

我看过这些帖子:

然而,所有这些都使用JavaScript内部的位置。我的对象作为自定义对象包含在C#代码中,定义如下:

public static List<Bus> Buses = new List<Bus>();
公共静态列表总线=新列表();
这是我的C#代码全文:

您将javascript与代码隐藏/C#中的数据混合在一起。它不起作用。 首先,必须将标记数据放在javascript数组中。然后在不使用webforms标记的情况下创建for

将类似的内容放在页面代码后面(C#)

公共静态字符串getBusesJson()
{
var总线=新列表();
添加(新总线(){纬度=10,经度=20});
添加(新总线(){纬度=15,经度=30});
添加(新总线(){纬度=5,经度=40});
返回JsonConvert.SerializeObject(总线);
}
将此内容放在您的aspx标题上:

<script type="text/javascript">

    var points = <%= WebApplication3.WebForm1.getBusesJson()%>;

    for (var i = 0; i < points.length; i++) {
        //pass points[i].latitude and points[i].longitude to google maps
    }

</script>

var点=;
对于(变量i=0;i
您能告诉我这是什么意思吗?如果需要的话,我可以提供C代码。好的,再看一遍。我不得不调整你发布的内容,但主要的概念仍然存在,现在正在发挥作用。非常感谢你。
<script type="text/javascript">

    var points = <%= WebApplication3.WebForm1.getBusesJson()%>;

    for (var i = 0; i < points.length; i++) {
        //pass points[i].latitude and points[i].longitude to google maps
    }

</script>