2015-11-05 65 views
0

我正在嘗試編寫Windows窗體應用程序以在地圖上顯示數據。如果手動輸入數據,我可以成功寫入數據,但在通過Excel文件上傳數據時遇到一些問題。我在Excel文件中存儲了經度和緯度,並正在閱讀該文件。我的代碼完美地讀取數據,但沒有繪製出來。但是,如果我只在該Excel文件中存儲一個緯度/長度,它確實繪製了該曲線。這是我手動數據饋送的代碼,工作正常。在地圖上繪製數據

private void btnsearch_Click(object sender, EventArgs e) 
     { 
      string lat = txtlat.Text; 

      try 
      { 
       StringBuilder querryaddress = new StringBuilder(); 
       querryaddress.Append("https://www.here.com/search/"); 

       if (street != string.Empty) 
       { 
        querryaddress.Append(street); 
       } 


       webBrowser1.Navigate(querryaddress.ToString()); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message.ToString(), "Error"); 
      } 
     } 

當我從Excel文件中逐一讀取數據時,它不會被繪製。這裏是代碼:

private void btnmap_Click(object sender, EventArgs e) 
     { 

      for (int i = 1; i <=20; i++) 
      { 
       System.Threading.Thread.Sleep(3000); 
       tb_display_content.Text = excel_getValue("A" + i); 
       string lat = tb_display_content.Text; 
       try 
       { 
        StringBuilder querryaddress = new StringBuilder(); 


        querryaddress.Append("https://www.here.com/search/"); 
        if (lat != string.Empty) 
        { 
         querryaddress.Append(lat); 

        } 
        webBrowser1.Navigate(querryaddress.ToString()); 

       } 
       catch (Exception ex) 
       { 
        MessageBox.Show(ex.Message.ToString(), "Error"); 
       } 
      } 
     } 

這段代碼有什麼問題?請建議。

回答

0
  1. 以「StringBuilder querryaddress = new StringBuilder();」循環
  2. Cleare querryaddress下一個循環 這應該把你的問題
0

的照顧之外你有兩個問題。它看起來像你沒有正確建立你的http查詢字符串。你想使用這項服務的網址...

https://www.here.com/search/testing?x=ep&map=41.56144,-71.59227,12,normal 

其中「測試」爲搜索詞,「地圖= 41.56144,-71.59227」是地圖的中心位置。爲了正確顯示經緯度,你需要複製這個數據並替換你的lat,long和search term。喜歡的東西...

var searchTerm = "kittens"; 
var lat = "41.2312"; 
var lon = "-72.102"; 
var finalURL = string.format(@"https://www.here.com/search/{0}?x=ep&map={1},{2},12,normal",searchTerm, lat, lon); 

你的第二個問題是,您的Excel例如,你定義一個URL,請求URL,顯示該URL,然後重複這個過程的每3000ms。該代碼只會在Excel電子表格運行完畢後才顯示最後一個點(如果它運行的話......提示...它不會因爲你的第一個問題)。

下面是一些推薦的讀物:HTTP Query Strings