【问题标题】:WPF Bing Maps latitude longitude to TextboxWPF Bing将纬度经度映射到文本框
【发布时间】:2016-02-16 06:40:39
【问题描述】:

我在我的应用程序中使用 WPF Bing 地图,并且它当前设置为以某个纬度经度为中心,我想知道是否可以显示一个文本框和搜索按钮,而不是设置一个经度纬度用户可以输入所选位置的纬度经度。如果是,我应该添加什么代码?

Xaml

 Title="MainWindow" Height="320.149" Width="475.746">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="0*"/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <m:Map CredentialsProvider="My Key" Mode="AerialWithLabels"
           Center="51.521347, -0.138983" ZoomLevel="16"  x:Name="BingMap" Grid.ColumnSpan="2">
        <TextBox x:Name="txtwhere" HorizontalAlignment="Left" Height="35" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="126" Margin="315,10,0,0"  />
        <Button x:Name="Btnsearch" Content="Search" HorizontalAlignment="Left" Height="28" VerticalAlignment="Top" Width="112" Margin="316,57,0,0" Click="Btnsearch_Click"/>

VB

Partial Public Class MainWindow
Inherits Window

Public Sub New()
    InitializeComponent()
    BingMap.Focus()
    'Set map to Aerial Mode with labels
    BingMap.Mode = New AerialMode(True)
End Sub

【问题讨论】:

    标签: wpf vb.net xaml bing-maps bing


    【解决方案1】:

    自从您在 Xaml 中设置了“中心”后,您应该或多或少地弄清楚了。刚刚在 C# 中对其进行了测试,然后转换为 VB。让我知道这是否是您要查找的内容(Btnsearch_Click 处理您的 Btnsearch 的 Click 事件):

    Private Sub Btnsearch_Click(sender As Object, e As RoutedEventArgs)
        Dim latitude As Double = Double.Parse(txtwhere.Text.Substring(0, txtwhere.Text.IndexOf(","C)))
        Dim longitude As Double = Double.Parse(txtwhere.Text.Substring(txtwhere.Text.IndexOf(","C) + 1))
    
        BingMap.Center = New Microsoft.Maps.MapControl.WPF.Location(latitude, longitude) 
    End Sub
    

    当然,这假设文本框的值是逗号分隔且有效的。最好写验证以避免错误。

    【讨论】:

      猜你喜欢
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      相关资源
      最近更新 更多