我正在尝试编写Windows窗体应用程序以在地图上显示数据。如果我手动输入数据,我可以成功写入数据,但在通过Excel文件上传数据时遇到一些问题。我已将Latitude和Longitude存储在Excel文件中,我正在读取该文件。我的代码正在完美地读取数据,但它没有被绘制。但是,如果我在Excel文件中只存储一个Lat / Long,则会绘制该图。这是我的手动数据传输代码,工作正常。
private void btnsearch_Click(object sender, EventArgs e)
{
string lat = txtlat.Text;
try
{
StringBuilder queryaddress = new StringBuilder();
queryaddress.Append("https://www.here.com/search/");
if (street != string.Empty)
{
queryaddress.Append(street );
}
webBrowser1.Navigate(queryaddress.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 queryaddress = new StringBuilder();
queryaddress.Append("https://www.here.com/search/");
if (lat != string.Empty)
{
queryaddress.Append(lat );
}
webBrowser1.Navigate(queryaddress.ToString());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString(), "Error");
}
}
}
此代码有什么问题?请建议。
答案 0 :(得分:0)
StringBuilder queryaddress = new StringBuilder();
queryaddress
那应该照顾好你的问题
答案 1 :(得分:0)
你有两个问题。看起来您没有正确构建http查询字符串。您尝试使用的服务的网址是......
https://www.here.com/search/testing?x=ep&map=41.56144,-71.59227,12,normal
其中“testing”是搜索词,“map = 41.56144,-71.59227”是地图的中心位置。为了正确显示纬度/经度,您需要复制它并替换lat,long和搜索项。有点像...
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,然后每3000毫秒重复一次该过程。该代码只会在完成运行后显示Excel电子表格中的最后一个点(如果它完全运行...提示......由于您的第一个问题,它不会显示)。
以下是一些推荐阅读材料:HTTP Query Strings