在VB或C ++中添加Bing / Google Maps API

时间:2015-10-31 09:54:56

标签: vb.net google-maps bing-maps bing-api

您好我正在使用简单的网络搜索功能作为我的地图系统,但我想将地图直接添加到应用程序中,以使其看起来更专业。我已经添加了我在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元素。

感谢您的帮助。

1 个答案:

答案 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

代码示例:https://code.msdn.microsoft.com/site/search?query=Bing%20Maps%20WPF&f%5B0%5D.Value=Bing%20Maps%20WPF&f%5B0%5D.Type=SearchText&ac=2

您需要使用Bing地图键才能使用地图控件。您可以在此处通过Azure Marketplace获取一个:https://azure.microsoft.com/en-us/marketplace/partners/bingmaps/mapapis/