Vb.net 图钉误差

Vb.net 图钉误差,vb.net,bing-maps,pushpin,Vb.net,Bing Maps,Pushpin,您好,我正试图通过纬度和经度来确定图钉,但由于某些原因,我在纬度图钉(纬度,经度)下得到了一条错误线。如果我只是将图钉更改为位置,我的地图很乐意使用相同的代码居中,但我不明白为什么它不能与图钉一起工作 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim latitude As Double = Double.Parse(TXTLAT.Text.Substring(0,

您好,我正试图通过纬度和经度来确定图钉,但由于某些原因,我在纬度图钉(纬度,经度)下得到了一条错误线。如果我只是将图钉更改为位置,我的地图很乐意使用相同的代码居中,但我不明白为什么它不能与图钉一起工作

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

要使地图居中,需要传入位置对象,而不是图钉。图钉是显示在地图顶部的UIElement,其中“中心”属性是地图的位置。如果要将地图居中放置在某个位置并在该位置显示图钉,请执行以下操作:

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控件的完整文档:

您好,谢谢您的回复。我的代码现在转到了位置,但由于某些原因,在使用Dim pin=New Microsoft.Maps.MapControl.WPF.Pushpin()pin.location=location时,我仍然无法获得图钉。您必须将其添加到地图中。执行类似MyMap.Children.Add(pin)的操作;谢谢你工作得很好,很抱歉让你很痛苦,但你可能知道,正如你所看到的,我已经设置好查看我的txtlat和txtlong,查看由数据库填充的坐标,并且连接数据源。在加载应用程序时,是否可以用图钉映射我的所有位置?e、 g.在伦敦位置放置一个图钉,在爱丁堡位置放置一个图钉,依此类推。是的,只需在数据中循环并创建一个新的图钉对象。但是,如果您有数千个位置,您可能需要考虑其他优化,例如集群,或者只根据需要在某些区域加载数据。您好,谢谢您以前的答案,我如何通过数据添加一个循环来一次绘制所有的点,我想用简单的按钮单击一次显示20。