-2

I am trying to add multiple marker location Latitude and longitude form a file. But only one marker is getting added and that too at wrong place. Following is my code, where am I doing wrong ? I am using gmap.net in windows form

private void button1_Click(object sender, EventArgs e)
    {
        string start = "Pune, Maharashtra, India";// textBox1.Text;
        string end = "Mumbai, Maharahtra, India"; //textBox2.Text;

        GDirections ss;
        var xx = GMapProviders.GoogleMap.GetDirections(out ss, start, end, false, false, false, false, false);
        GMapRoute r = new GMapRoute(ss.Route, "My route");

        GMapOverlay routesOverlay = new GMapOverlay("routes");

        r.Stroke.Width = 2;
        r.Stroke.Color = Color.Black;
        routesOverlay.Routes.Add(r);
        gmap.Overlays.Add(routesOverlay);

        //marker adding POI

        if (comboBox1.SelectedIndex == 0)
        {
           // MessageBox.Show("hotels");
            string line;
            GMapOverlay markersOverlay = new GMapOverlay("markers");

            // Read the file and display it line by line.
            System.IO.StreamReader file = new System.IO.StreamReader("D:\\hotels_lat_long"); // db file

            while ((line = file.ReadLine()) != null)
            {
                string[] Data_Array = line.Split(',');
                Double londecimal = Convert.ToDouble(Data_Array[0]);
                Double latdecimal = Convert.ToDouble(Data_Array[1]);
                //add a new one here                   
                var marker = new GMarkerGoogle(new PointLatLng(latdecimal, londecimal), GMarkerGoogleType.green);
                marker.IsVisible = true;

                markersOverlay.Markers.Add(marker);
                gmap.Overlays.Add(markersOverlay);                  
            }
            file.Close();               
        }

        if (comboBox1.SelectedIndex == 1)
        {
            //MessageBox.Show("Fuel Pumps");
        }

    }
duncan
  • 31,401
  • 13
  • 78
  • 99
Patrik
  • 1
  • 3
  • my silly mistake, it should have been, Double londecimal = Convert.ToDouble(Data_Array[1]); Double latdecimal = Convert.ToDouble(Data_Array[0]); – Patrik Oct 27 '15 at 14:42

1 Answers1

0

my silly mistake, it should have been, I interchanged latitude and longitude values

Double londecimal = Convert.ToDouble(Data_Array[1]); 
Double latdecimal = Convert.ToDouble(Data_Array[0]);
Patrik
  • 1
  • 3