2015-10-31 3 views
0

Привет В настоящее время я использую простую функцию веб-поиска, чтобы действовать как моя система сопоставления, но я хотел бы добавить карты непосредственно в приложение, чтобы сделать его намного более профессионал. Я добавил свой оригинальный код, который находится в VB, чтобы вы могли понять, что у меня уже есть, и поэтому вы можете дать мне представление о том, как сделать это еще дальше, я также рассматриваю возможность перезаписи моего приложения на C++.Добавление Bing/API Карт Google в 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

Если вы хотите, чтобы открыть веб-страницу в приложении, вы можете найти документацию о том, как создать URL-адреса для Bing Maps здесь: https://msdn.microsoft.com/en-us/library/dn217138.aspx

Эти URL должны работать с картой предварительного просмотра, а также, однако, сайт предварительного просмотра использует много HTML5, и я сомневаюсь, что он будет работать внутри WebBrowser в приложении WPF или WinForm, поскольку я считаю, что элемент управления WebBrowser эмулирует IE7, который не поддерживает HTML5. Есть способы взломать это, изменяя настройки реестра: http://weblog.west-wind.com/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version Но, если это приложение не будет использоваться только в нескольких приложениях, это, скорее всего, не вариант.

Все, что сказано, с использованием карты JavaScript в вашем приложении - отличная идея. Особенно, когда есть отличный элемент управления WPF для Bing Maps, который вы можете использовать в своем приложении (может также использоваться в приложениях 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 Maps. Вы можете получить его через Azure Marketplace здесь: https://azure.microsoft.com/en-us/marketplace/partners/bingmaps/mapapis/

Смежные вопросы