0

我正在使用 Bing Maps 为 Windows 8 商店开发地图,我在地图中绘制了几个 atms 和分支,而不是使用 Pushpin,而是使用我创建的控件并将它们放在相应的位置。问题是,当缩放级别为(例如)13 时,引脚离它们的实际位置有点远,而当我放大引脚时,引脚开始移动到实际位置。

尽管有实际的地图缩放级别,有谁知道我应该怎么做才能将大头针固定在他们的位置?

这是我的 atms 绘制代码:

AgenciesMarkers Aginfo = new AgenciesMarkers(); 
Aginfo.Agclass = atm; 
Aginfo.ImageType = new BitmapImage(new Uri(typeSource, UriKind.Absolute)); 
Aginfo.Height = 65; 
Aginfo.Tapped += new Windows.UI.Xaml.Input.TappedEventHandler(AGMarker_click); Aginfo.SetValue(Canvas.ZIndexProperty, 4); 
MapLayer.SetPosition(Aginfo, (new Location(atm.Latitude, atm.Longitude))); mapLayer.Children.Add(Aginfo); mapLayer.Margin = new Thickness(25, 0, 0, 0);

使用图钉它会发生同样的事情。

4

1 回答 1

0

问题在于,默认情况下,自定义图钉/用户控件的位置使得位置与控件的左上角对齐。如果您不采取任何措施来解决此问题,您将在放大/缩小时看到您的图钉漂移到该位置或从该位置漂移。解决此问题的一种简单方法是在您的用户控件上添加负边距,以便它将控件与地图上的位置对齐。例如,如果要将用户控件置于位置的中心,则设置边距,使其 x 值等于 -width of control/2,y 值等于 -height of control/2。

于 2014-09-19T16:55:28.013 回答