2015-11-05 69 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