Пример #1
0
 protected virtual void OnGPSDataChanged(GPSDataChangedEventArgs e)//このメソッドでイベント発行。
 {
     if (GPSDataChanged != null)
     {
         GPSDataChanged(this, e);
     }
 }
Пример #2
0
        private void wtc_PositionChanged(object sender, GeoPositionChangedEventArgs <GeoCoordinate> e)
        {
            Location = e.Position.Location;

            Latitude  = Location.Latitude;
            Longitude = Location.Longitude;
            Speed     = Location.Speed;
            if (double.IsNaN(Speed) == false && Speed > 0.7)//キューの長さを常に10に保つ。
            {
                speedRecorder_forCalcAvgSpeed.Enqueue(Speed);
                if (speedRecorder_forCalcAvgSpeed.Count == 10)
                {
                    speedRecorder_forCalcAvgSpeed.Dequeue();
                }
            }

            Course             = Location.Course;
            Altitude           = Location.Altitude;
            HorizontalAccuracy = Location.HorizontalAccuracy;
            VerticalAccuracy   = Location.VerticalAccuracy;
            AvgSpeed           = calcAvgSpeed();
            IsLocationUnknown  = Location.IsUnknown;
            //System.Diagnostics.Debug.WriteLine(Speed);

            GPSDataChangedEventArgs changedEvent = new GPSDataChangedEventArgs();

            OnGPSDataChanged(changedEvent);//イベントを発行する。
        }
Пример #3
0
        void Sensor_GPSDataChanged(object sender, GPSDataChangedEventArgs e)
        {
            Dispatcher.BeginInvoke(() => {
                if (Sensor.Location.IsUnknown == false)
                {
                    CurrentMark.Location = Sensor.Location;
                    if (CurrentMark.Visibility == Visibility.Collapsed)
                    {
                        CurrentMark.Visibility = Visibility.Visible;
                    }
                }
                else
                {
                    return;
                }

                if (Target != null)
                {
                    Distance = Utility.CalcDistanceTo_Hubeny(Sensor.Location, Target.Location);
                    ETA      = Utility.CalcETA(Distance, Sensor.AvgSpeed);
                }


                refreshDistanceTextBlock();
                refreshLine();
            });
        }
Пример #4
0
 private void sensor_GPSDataChanged(object sender, GPSDataChangedEventArgs e)
 {
     Dispatcher.BeginInvoke(() =>
     {
         refreshGpsData();
     });
 }
Пример #5
0
 void sensor_GPSDataChanged(object sender, GPSDataChangedEventArgs e)
 {
     Dispatcher.BeginInvoke(() =>
     {
         TextBlock_Latitude.Text  = Sensor.Latitude.ToString();
         TextBlock_Longitude.Text = Sensor.Longitude.ToString();
         //TextBlock_Speed.Text = sensor.Speed.ToString();
         TextBlock_AvgSpeed.Text           = Sensor.AvgSpeed.ToString();
         TextBlock_Altitude.Text           = Sensor.Altitude.ToString();
         TextBlock_IsLocationUnknown.Text  = Sensor.IsLocationUnknown.ToString();
         TextBlock_Course.Text             = Sensor.Course.ToString();
         TextBlock_HorizontalAccuracy.Text = Sensor.HorizontalAccuracy.ToString();
         TextBlock_VerticalAccuracy.Text   = Sensor.VerticalAccuracy.ToString();
     });
 }
Пример #6
0
        void Sensor_GPSDataChanged(object sender, GPSDataChangedEventArgs e)
        {
            if (Sensor.Location.IsUnknown == true)
            {
                return;
            }
            if (calcOnceFlag == true)
            {
                return;
            }

            Dispatcher.BeginInvoke(() => {
                setDistanceAndETA();
            });
            calcOnceFlag = true;
        }