您好我正在使用简单的网络搜索功能作为我的地图系统,但我想将地图直接添加到应用程序中,以使其看起来更专业。我已经添加了我在VB中的原始代码,这样你就可以理解我已经有的工作,所以你可以让我知道如何更进一步,我也在考虑用C ++重写我的应用程序。
Private Sub BTNMAP_Click(sender As Object, e As EventArgs) Handles BTNMAP.Click
Automate = True
Maps.Automate = Automate
Maps.SearchInput = PostcodeTextBox.Text
Maps.WebBrowser1.Navigate("https://www.bing.com")
Maps.Show()
End Sub
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
If Automate = True Then Automate = False Else Exit Sub
Dim txt As HtmlElement = WebBrowser1.Document.GetElementById("q")
Dim btn As HtmlElement = WebBrowser1.Document.GetElementById("go")
txt.SetAttribute("value", SearchInput)
btn.InvokeMember("click")
End Sub
或者我想更改我的Map.WebBrowser1.Navigate(“https://www.bing.com/mapspreview”),但我一直在努力寻找文本字段和按钮的html元素。
感谢您的帮助。
答案 0 :(得分:0)
如果您想在应用中打开网页,可以在此处找到有关如何创建Bing地图网址的文档:https://msdn.microsoft.com/en-us/library/dn217138.aspx
这些URL也应该与地图预览一起使用,但是,预览网站使用了大量HTML5,我怀疑它可以在WPF或WinForm应用程序中的WebBrowser内部工作,因为我相信WebBrowser控件模拟IE7不支持HTML5。有一些方法可以通过更改注册表设置来解决这个问题:http://weblog.west-wind.com/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version但是,除非这个应用程序仅用于几个应用程序,否则这可能不是一个选项。
所有这一切,在您的应用中使用JavaScript地图并不是一个好主意。特别是当你可以在你的应用程序中使用一个很棒的Bing Maps WPF控件时(也可以在WinForm应用程序中使用)。您可以在此处找到有关此控件的文档:https://msdn.microsoft.com/en-us/library/hh750210.aspx
您还可以通过Nuget访问此控件:http://www.nuget.org/packages/Microsoft.Maps.MapControl.WPF/
以下是Bing Maps WPF控件的一些其他资源:
博客帖子:https://blogs.bing.com/maps/?s=WPF
您需要使用Bing地图键才能使用地图控件。您可以在此处通过Azure Marketplace获取一个:https://azure.microsoft.com/en-us/marketplace/partners/bingmaps/mapapis/