【问题标题】:Bing Maps PushPin Error必应地图图钉错误
【发布时间】:2015-11-17 01:41:58
【问题描述】:

您好,我正在尝试通过纬度和经度确定我的图钉,但由于某种原因,我在纬度下得到一条错误线图钉(纬度,经度)我的地图很高兴使用相同的中心如果我只是将 Pushpin 更改为 Location 但我不明白为什么它不适用于 Pushpin?

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim latitude As Double = Double.Parse(TXTLAT.Text.Substring(0, TXTLAT.Text.IndexOf(","c)))
    Dim longitude As Double = Double.Parse(TXTLong.Text.Substring(TXTLong.Text.IndexOf(","c) + 1))


    UserControl11.BingMap.Center = New Microsoft.Maps.MapControl.WPF.Pushpin(latitude, longitude)
End Sub

【问题讨论】:

    标签: vb.net bing-maps pushpin


    【解决方案1】:

    要使地图居中,您需要传入一个 Location 对象,而不是 Pushpin。 Pushpin 是显示在地图顶部的 UIElement,其中 center 属性是地图的位置。如果您想将地图置于某个位置的中心并在那里显示图钉,请执行以下操作:

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim latitude As Double = Double.Parse(TXTLAT.Text.Substring(0, TXTLAT.Text.IndexOf(","c)))
        Dim longitude As Double = Double.Parse(TXTLong.Text.Substring(TXTLong.Text.IndexOf(","c) + 1))
    
        Dim location = New Microsoft.Maps.MapControl.WPF.Location(latitude, longitude)
    
        Dim Pin = New Microsoft.Maps.MapControl.WPF.Pushpin()
        pin.Location = location
    
        UserControl11.BingMap.Center = location
    End Sub
    

    您可以在此处找到有关 Bing Maps WPF 控件的完整文档:https://msdn.microsoft.com/en-us/library/hh750210.aspx

    【讨论】:

    • 您好,感谢您的回复,我的代码现在转到该位置,但由于某种原因,使用 Dim Pin = New Microsoft.Maps.MapControl.WPF.Pushpin() 时我仍然没有得到图钉pin.Location = 位置
    • 您必须将其添加到地图中。做类似 MyMap.Children.Add(pin);
    • 谢谢你工作得很好,很抱歉很痛苦,但你可能知道目前你可以看到我已经设置它来查看我的 txtlat 和 txtlong 的坐标,这些坐标正在由数据库填充,并且连接的数据源是否可以在加载应用程序时使用图钉映射我的所有位置?例如在伦敦位置放置一个图钉,在爱丁堡放置一个图钉,以此类推。
    • 是的,只需遍历您的数据并创建一个新的图钉对象。但是,如果您有数千个位置,您可能需要考虑其他优化,例如集群,或仅根据需要加载某些区域的数据。
    • 您好,感谢您之前的回答,我如何在我的数据中添加一个循环来一次绘制所有点,我想使用一个简单的按钮单击一次显示 20 个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多