我有xaml:
<maps:MapControl>
...
<maps:MapItemsControl>
<Image
...
maps:MapControl.Location="{Binding MYLocation}"
maps:MapControl.NormalizedAnchorPoint="0.5,0.5"
/>
</maps:MapItemsControl>
</maps:MapControl>
当我尝试在代码中获取地理位置时,我遇到了问题。 C#:
var child = ((MapItemsControl)(this.map.Children[0])).Items[0];
var coordinate = MapControl.GetLocation(child);
但是coordinate = null,我如何获得图像的坐标?
答案 0 :(得分:1)
也遇到这个。在赋值后进行测试,它仍为null。看起来GetLocation只是没有正确返回。
MapControl.SetLocation(iconStart, pushpinToAdd.pinPoint);
MapControl.SetNormalizedAnchorPoint(iconStart, new Point(0.5, 1));
Geopoint geopoint = MapControl.GetLocation(iconStart);
Debug.WriteLine(geopoint.Position.Latitude + "," + geopoint.Position.Longitude);
使其与NullReferenceException崩溃。在手机和模拟器上测试过。真的很糟糕。
作为一种解决方案,要使用带有id的Tag,然后引用我的数据并从那里拉回coords。
祝你好运编辑:
在我的pin上设置了一个tapped事件监听器,可以这样做
private async void Pin_Tapped(object sender, TappedRoutedEventArgs e)
{
Geopoint geopoint = null;
MainMap.GetLocationFromOffset(e.GetPosition(MainMap), out geopoint);
Debug.WriteLine(geopoint.Position.Latitude + "," + geopoint.Position.Longitude);
}