I have use WCF Services in app.
I draw the line when going from 1 lists the coordinates returned from WCF. Then draw the wrong path. While Phone7 windows properly, use Polyline.
Please help me.
Shown below are the results that I got wrong:

and i want show :

This is the code that I handle to draw:
Code:
  void wcl_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(e.Result) || e.Error != null)
                {
                    MessageBox.Show("Lỗi kết nối! Hãy thử lại");
                    waitingPage.Visibility = System.Windows.Visibility.Collapsed;
                    return;
                }

                XuLyToaDo route = XuLyToaDo.TaoMapRoute();
                //Lay ds diem ve 
                string Ketqua = XuLyToaDo.DanhSachDiemVe(e.Result);
                string[] kq = Ketqua.Split('&');

                //Lay thong tin toa do 
                XuLyToaDo routePushpin = XuLyToaDo.TaoMapRoute();
                XuLyToaDo routePolyline = XuLyToaDo.TaoMapRoute();
                //MessageBox.Show(kq[0]);
                //MessageBox.Show(kq[1]);
                //MessageBox.Show(kq[2]);
                //Tao ds toa do 
                List<GeoCoordinate> lsToaDoPushpin = routePushpin.TaoDSToaDo(kq[0]);
                List<GeoCoordinate> lsToaDoRoute = routePushpin.TaoDSToaDo(kq[1]);
                // Lay ds ten duong 
                string[] MangTenDiaChi = routePushpin.TaoDSDuong(kq[2]);
                if (lsToaDoPushpin == null)
                {
                    MessageBox.Show("Không có thông tin");
                    waitingPage.Visibility = System.Windows.Visibility.Collapsed;
                    return;
                }
                for (int i = 0; i < lsToaDoPushpin.Count - 1; i++)
                {
                    AddRoute(lsToaDoPushpin[i], Colors.Blue);
                }
                //ve duong di
                for (int i = 0; i < lsToaDoPushpin.Count - 2; i++)
                {
                    AddRouteMap(lsToaDoPushpin[i], lsToaDoPushpin[i + 1]);
                }
                //ve duong di
                //MyRouteQuery = new RouteQuery()
                //{
                //    TravelMode = TravelMode.Driving,
                //    Waypoints = lsToaDoRoute

                //};
                //MyRouteQuery.QueryCompleted += MyRouteQuery_QueryCompleted;
                //MyRouteQuery.QueryAsync();

                //Them danh sach tram
                int k = 0;
                foreach (GeoCoordinate geo in lsToaDoPushpin)
                {
                    if (k == lsToaDoPushpin.Count() - 1)
                        break;
                    Pushpin pus = new Pushpin();
                    string str = "Direc_" + k;
                    pus.Template = Maps.App.Current.Resources[str] as ControlTemplate;
                    pus.Tag = k;
                    pus.Content = k.ToString() + ".   " + MangTenDiaChi[k];
                    pus.Tap += new EventHandler<System.Windows.Input.GestureEventArgs>(pus_Tap);
                    MyMap.Layers.Add(new MapLayer()
                        {
                         new MapOverlay()
                         {
                            GeoCoordinate = geo,
                            PositionOrigin = new Point(0.5,0.5),
                            Content = pus
                        }
                       });
                    k++;
                }
                MyMap.Center = lsToaDoPushpin[0];
                MyMap.ZoomLevel = 15;
                waitingPage.Visibility = System.Windows.Visibility.Collapsed;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi kết nối. Hãy thử lại!!" + ex.Message);
            }
        }

        private void AddRouteMap(GeoCoordinate g1, GeoCoordinate g2)
        {
            List<GeoCoordinate> lsRoute = new List<GeoCoordinate>();
            lsRoute.Add(g1);
            lsRoute.Add(g2);

            MyRouteQuery = new RouteQuery()
            {
                TravelMode = TravelMode.Walking,
                Waypoints = lsRoute

            };
            MyRouteQuery.QueryCompleted += MyRouteQuery_QueryCompleted;
            MyRouteQuery.QueryAsync();
        }
        void MyRouteQuery_QueryCompleted(object sender, QueryCompletedEventArgs<Route> e)
        {

            if (e.Error == null)
            {

                if (MyMapRoute != null)
                    AddlstMapRoute(MyMapRoute);
                MyRoute = e.Result;
                MyMapRoute = new MapRoute(MyRoute);
                MyMap.AddRoute(MyMapRoute);

            }
        }
        private void AddlstMapRoute(MapRoute maproute)
        {
            lsMapRoute.Add(maproute);
        }
        private void AddRoute(GeoCoordinate geo, Color color)
        {

            MyMap.Layers.Add(new MapLayer()
            {
                new MapOverlay()
                {
                    GeoCoordinate = geo,
                    PositionOrigin = new Point(0.5,0.5),
                    
                    Content = new Ellipse
                    {
                        Fill = new SolidColorBrush(color),
                        Width =5,
                        Height = 5
                    }

                }
            });
        }

        void pus_Tap(object sender, System.Windows.Input.GestureEventArgs e)
        {
            e.Handled = true;
            Pushpin pus = sender as Pushpin;
            ToolTipService.SetToolTip(pus, new ToolTip()
            {
                DataContext = pus,
                Style = Application.Current.Resources["CustomInfoboxStyle"] as Style
            });
            MessageBox.Show(pus.Content.ToString(), "Thông tin trạm", MessageBoxButton.OK);
        }
This is the place where I create database:

Please Help me thanks u verry much ... chut chut moa moa