2011-12-03 57 views
1

我試圖在WP7的Bing地圖上使用下面的方法顯示一個位置列表(來自xml文檔:使用xml讀取),但它不起作用。 當我試圖看看我的函數正在讀取什麼時,我發現它不是提取經度。問題在哪裏?用Bing Map顯示WP7圖釘

void frloc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
    { 
     if (e.Error == null) 
     { 
      ListBoxItem areaItem = null; 
      StringReader wkstream = new StringReader(e.Result); 
      XmlReader wkreader = XmlReader.Create(wkstream); 

      string areaName = String.Empty; 
      string Nom = String.Empty; 
      string Photo = String.Empty; 
      string Latitude = String.Empty; 
      string Longitude = String.Empty; 
      string Timing = String.Empty; 

      while (wkreader.Read()) 
      { 
       if (wkreader.NodeType == XmlNodeType.Element) 
       { 
        switch (wkreader.Name) 
        { 
         case ("name"): 
          { 
           Nom = wkreader.ReadElementContentAsString(); 
           areaItem = new ListBoxItem(); 
           areaItem.Content = Nom; 

          } break; 
         case ("photo"): 
          { 
           Photo = wkreader.ReadElementContentAsString(); 
           areaItem = new ListBoxItem(); 
           areaItem.Content = Photo; 
          } break; 
         case ("latitude"): 
          { 
           Latitude = wkreader.ReadElementContentAsString(); 
           areaItem = new ListBoxItem(); 
           areaItem.Content = Latitude; 
          } break; 
         case ("longitude"): 
          { 
           Longitude = wkreader.ReadElementContentAsString(); 
           areaItem = new ListBoxItem(); 
           areaItem.Content = Longitude; 
          } break; 

        } 
        double lat, lon; 
        double.TryParse(Latitude, NumberStyles.Any, CultureInfo.InvariantCulture, out lat); 
        double.TryParse(Longitude, NumberStyles.Any, CultureInfo.InvariantCulture, out lon); 
        GeoCoordinate Loc = new GeoCoordinate(lat, lon); 

        Pushpin wkpin = new Pushpin(); 
        Image wkpinImage = new Image(); 
        wkpin.Content = Nom; 
        wkpinImage.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri("http://weenek.com/markers/" + Photo, UriKind.Absolute)); 
        wkpinImage.Opacity = 0.8; 
        wkpinImage.Stretch = System.Windows.Media.Stretch.None; 

        imageLayer.AddChild(wkpinImage, Loc); 
        map1.Children.Add(wkpin); 

的XML:

<resultat> 
    <ami> 
    <id>547</id> 
    <nom>Hakim</nom> 
    <prenom>Abidi</prenom> 
    <latitude>37.01406741589469</latitude> 
    <longitude>11.02375026562504</longitude> 
    <date>2011-12-02</date> 
    <time>01:09:35</time> 
    <image>175.jpg</image> 
    </ami> 
</resultat> 

回答

0

沒有什麼錯與您的代碼只是使用的是你永遠設置圖釘的座標。

嘗試增加

wkpin.Location = Loc;