【发布时间】:2013-03-05 18:56:27
【问题描述】:
我正在使用新的 Windows Phone 8 地图和地图工具包。在每个PositionChanged 事件中,我将UserLocationMarker 设置为新位置。如果用户点击UserLocationMarker,我将通过ReverseGeocodeQuery 显示地图位置并将用户位置图钉设置为可见。为了快速完成这项工作,我在 PositionChanged 事件中执行了 ReverseGeocodeQuery。
我的问题是,如果用户位置变化很快,它会执行很多ReverseGeocodeQuerys。这是性能问题吗?
private void InitializeGeolocator()
{
geolocator = new Geolocator();
geolocator.DesiredAccuracy = PositionAccuracy.High;
geolocator.MovementThreshold = 5;
geolocator.StatusChanged += geolocator_StatusChanged;
geolocator.PositionChanged += geolocator_PositionChanged;
}
private void geolocator_PositionChanged(Geolocator sender, PositionChangedEventArgs args)
{
Dispatcher.BeginInvoke(() =>
{
Geoposition geoposition = args.Position;
this.UserLocationMarker.GeoCoordinate = geoposition.Coordinate.ToGeoCoordinate();
this.UserLocationMarker.Visibility = System.Windows.Visibility.Visible;
// execute ReverseGeocodeQuery...
// set Pushpin
});
}
private void userLocationMarker_tap(object sender, GestureEventArgs e)
{
// show user location pushpin...
UserLocationPushpin.Visibility = Visibility.Visible;
}
【问题讨论】:
标签: maps windows-phone-8 windows-phone