C# Windows Phone 8-如何在地图上显示当前位置
正如标题所示,我正在努力在地图上显示用户的当前位置 Afaik有两种方式显示当前用户位置:C# Windows Phone 8-如何在地图上显示当前位置,c#,xaml,windows-phone-8,maps,C#,Xaml,Windows Phone 8,Maps,正如标题所示,我正在努力在地图上显示用户的当前位置 Afaik有两种方式显示当前用户位置: 在代码中:创建一个椭圆,将其设置为MapOverlay的内容,设置MapOverlay的地理坐标,将此覆盖添加到MapLayer并将其添加到地图-但我无法再访问MapOverlay,因此我无法更改(更新)用户的位置。 有没有一种方法可以更新用户位置而不必重新绘制所有地图图层? XAML和代码:在Windows Phone 7中,我可以在地图上添加一个图钉,让地理坐标跟踪程序处理位置更改事件,并将MyLoc
MapOverlay
的内容,设置MapOverlay的地理坐标,将此覆盖添加到MapLayer
并将其添加到地图-但我无法再访问MapOverlay
,因此我无法更改(更新)用户的位置。
有没有一种方法可以更新用户位置而不必重新绘制所有地图图层?图钉,让地理坐标跟踪程序处理位置更改事件,并将MyLocation.Location
设置为当前位置
图钉:
xmlns:maps=“clr命名空间:Microsoft.Phone.maps.Controls;assembly=Microsoft.Phone.maps”
xmlns:maptk=“clr命名空间:Microsoft.Phone.Maps.Toolkit;assembly=Microsoft.Phone.Controls.Toolkit”
但是我无法访问MapPage.xaml中的MyLocation图钉(调试器说它是null
)
我可以用maptk:Pushpin
显示和更新地图上的当前用户位置吗?
在Windows Phone 7中,我可以简单地为图钉创建一个XAML布局,它将保存用户位置,如下所示:
xmlns:maps=“clr命名空间:Microsoft.Phone.Controls.maps;assembly=Microsoft.Phone.Controls.maps”
然后,我可以添加一个地理坐标记录器
,它将侦听位置更改
事件,并更改MyLocation图钉的位置
:
void GeoCoordinateWatcher\u位置已更改(对象发送器,地理位置更改Deventargs e)
{
MyLocation.Location=e.Position.Location;
}
试试这个方法
Pushpin pushpin = new Pushpin();
pushpin.Background = new SolidColorBrush(Colors.Red);
pushpin.Location = new GeoCoordinate(Latitude, Longitude);
pushpin.Content = "SampleString";
pushpin.Width = 25;
map1.Children.Add(pushpin);//this is way add pushpin to map
我参观过这个
如果地理坐标记录器触发PositionChanged事件,如何更新位置?