新しい Windows Phone 8 Maps と Maps Toolkit を使用しています。PositionChanged
イベントごとUserLocationMarker
に、 を新しい位置に設定しました。ユーザーが をタップするUserLocationMarker
と、マップの場所が表示ReverseGeocodeQuery
され、ユーザーの場所の画鋲が表示されるように設定されます。これを非常に迅速に行うためReverseGeocodeQuery
に、PositionChanged
イベント内で を実行します。
私の質問は、ユーザーの場所が非常に迅速に変更された場合、多くReverseGeocodeQuery
の s が実行されるということです。これはパフォーマンスの問題ですか?
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;
}