0

我做了这个代码

  • 我想显示浮点列表(地图中的点)
  • 但只有第一点似乎其他人没有。点之间的路径也被隐藏了,我不知道为什么。

    @model IList @{ Layout = "~/Views/Shared/_Lay2.cshtml";} varculture = System.Globalization.CultureInfo.GetCultureInfo("en-US");}

    @for (int marker=2;marker<@Model.Count; marker++) 
    {
    <script type="text/javascript">
        alert(@marker);
        var myOptions = {zoom: 30, center: myLatLng, mapTypeId: google.maps.MapTypeId.TERRAIN };
        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        var flightPlanCoordinates = [
             new google.maps.LatLng(@Model[marker].ToString(culture), @Model[marker + 1].ToString(culture)),];
        var flightmarker = new google.maps.Marker({
                position: new google.maps.LatLng(@Model[marker].ToString(culture), @Model[marker + 1].ToString(culture)),
                map: map,
                title: " denden" });var flightPath = new google.maps.Polyline({
                path: flightPlanCoordinates,
                strokeColor: "#FF0000",
                strokeOpacity: 1.0,
                strokeWeight: 2
            });
        flightPath.setMap(map);
    </script>
    
    marker++; 
    
    }
    

有什么建议么?

4

1 回答 1

0

看起来您正在使用循环的每次迭代重新创建地图。也许尝试这样的事情:

@model IList<float>
  @{ Layout = "~/Views/Shared/_Lay2.cshtml";
 var culture = System.Globalization.CultureInfo.GetCultureInfo("en-US");}
 <body  onload="initialize(@Model[0].ToString(culture), @Model[1].ToString(culture))">
 <table style="width: 100%; height: 70%"> <tr>
    <td style="width: 100%"><div id="map_canvas" style="width: 100%; height: 500px;"></div></td>
    <script type="text/javascript">
     var myOptions = {zoom: 30,
                center: myLatLng,
                mapTypeId: google.maps.MapTypeId.TERRAIN };
            var map = new google.maps.Map(document.getElementById("map_canvas"),
             myOptions);
            @for (int marker=2;marker<@Model.Count; marker += 2) {
            var flightPlanCoordinates = [
             new google.maps.LatLng(@Model[marker].ToString(culture), @Model[marker + 1].ToString(culture)),];
            var flightmarker = new google.maps.Marker({
                position: new google.maps.LatLng(@Model[marker].ToString(culture), @Model[marker + 1].ToString(culture)),
                map: map,
                title: " denden" });var flightPath = new google.maps.Polyline({
                path: flightPlanCoordinates,
                strokeColor: "#FF0000",
                strokeOpacity: 1.0,
                strokeWeight: 2
            });
            flightPath.setMap(map);
            }
        </script>
    </tr>
    </table>
    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
于 2012-09-16T19:57:46.810 回答