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

Adding Bing / Google Maps API in VB or C++

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

或者我想更改我的地图。WebBrowser1.Navigate("https://www.bing.com/mapspreview") 但我一直在努力寻找文本字段和按钮的 html 元素。

感谢您的帮助。

如果您想在应用中打开网页,可以在此处找到有关如何创建 Bing 地图 URL 的文档:https://msdn.microsoft.com/en-us/library/dn217138.aspx

这些 URL 也应该与地图预览一起使用,但是,预览站点使用了很多 HTML5,我怀疑它能否在 WPF 或 WinForm 应用程序的 WebBrowser 中工作,我相信WebBrowser 控件模拟不支持 HTML5 的 IE7。有一些方法可以通过更改注册表设置来解决这个问题: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/