Попытка рисовать полилинию, приводящую к ошибке C # Web App - PullRequest
0 голосов
/ 12 августа 2011

Я пытаюсь нарисовать полилинию, но есть некоторая ошибка в методе перегрузки, которую я не могу понять, почему это приводит к ошибке, когда я делаю это правильно ... мой код,

   private void BuildScript(DataTable tbl)
        {
            String Locations = "";
            String locations = "";
            foreach (DataRow r in tbl.Rows)
            {
                // bypass empty rows        
                if (r["Latitude"].ToString().Trim().Length == 0)
                    continue;

                string Latitude = r["Latitude"].ToString();
                string Longitude = r["Longitude"].ToString();
                double latitude = Convert.ToDouble(r["Latitude"]);
                double longitude =Convert.ToDouble(r["Longitude"]);
                var points = new List<GLatLng> {new GLatLng(latitude,longitude)};
                var polyline = new GPolyline(points); 
                // create a line of JavaScript for marker on map for this record    
                Locations += Environment.NewLine + " map.addOverlay(new GMarker(new GLatLng(" + Latitude + "," + Longitude + ")));";
                locations += Environment.NewLine + " map.addOverlay(new GPolyline(new GLatLng(" + Latitude + "," + Longitude + ")));";
            }

            // construct the final script
            js.Text = @"<script type='text/javascript'>
                            function initialize() {
                              if (GBrowserIsCompatible()) {
                                var map = new GMap2(document.getElementById('map_canvas'));
                                map.setCenter(new GLatLng(45.05,7.6667), 2); 
                                " + Locations + @"
                                map.setUIToDefault();
                              }
                            }
                            </script> ";
   js.Text = @"<script type='text/javascript'>
                            function initialize() {
                              if (GBrowserIsCompatible()) {
                                var map = new GMap2(document.getElementById('map_canvas'));
                                map.setCenter(new GLatLng(45.05,7.6667), 2); 
                                " + locations + @"
                                map.setUIToDefault();
                              }
                            }
                            </script> ";
}

теперь это дает мне ошибку в сценарии полилинии не exsis

Надежды на ваш ответ ...

1 Ответ

1 голос
/ 12 августа 2011

Для конструктора GPolyline требуется переменная типа List<GLatLng>, и это не то, что вы передаете.

Вам необходимо создать значения GLatLng в виде списка:

var points = new List<GLatLng> { new GLatLng(59.6919, 17.8582),new GLatLng(59.3030, 18.0395),new GLatLng(58.9789, 17.5341) };
var polyline = new GPolyline(points,"#ff0000",1); 
...