Пример #1
0
        public void OnLocationChanged(Location location)     // Methode die ervoor zorgt dat er elke keer een nieuw punt wordt geregistreerd als de locatie is gewijzigd
        {
            PointF geo = new PointF((float)location.Latitude, (float)location.Longitude);

            uithof = Projectie.Geo2RD(geo);


            if (looppad.Count == 0)
            {
                drawX = uithof.X;
                drawY = uithof.Y;
                if (volg)
                {
                    looppad.Add(new Opslaan(uithof.X, uithof.Y, DateTime.Now));
                }
            }
            // Huidige locatie in RD coordinaten
            if (volg && (Math.Abs(uithof.X - drawX) > 10 || Math.Abs(uithof.Y - drawY) > 10))
            {
                // Huidige punt toevoegen aan de klasse
                drawX = uithof.X;
                drawY = uithof.Y;



                looppad.Add(new Opslaan(uithof.X, uithof.Y, DateTime.Now));
            }
            this.Invalidate();
        }
Пример #2
0
        public KaartView(Context c) :
            base(c)
        {
            foreach (PointF punt in punt)
            {
                PointF rdPoint = Projectie.Geo2RD(punt);
                looppad.Add(new Opslaan(rdPoint.X, rdPoint.Y, tijdstippen[i]));
                i++;
            }

            this.SetBackgroundColor(Color.Black);
            // Declareert de bitmap options aan een variabele
            BitmapFactory.Options opt = new BitmapFactory.Options();
            opt.InScaled = false;                                                                      // Zorgt ervoor dat de kaart oningezoomd wordt getoond.
            utrecht      = BitmapFactory.DecodeResource(this.Resources, Resource.Drawable.kaart, opt); // Declareert de kaart aan een variabele
            loper        = BitmapFactory.DecodeResource(c.Resources, Resource.Drawable.point, opt);    // Declareert de loper aan een variabele

            // Declareert de sensor manager
            SensorManager sm = (SensorManager)c.GetSystemService(Context.SensorService);

            sm.RegisterListener(this, sm.GetDefaultSensor(SensorType.Orientation), SensorDelay.Ui);

            // Declareert de Location managers voor de GPS
            LocationManager lm   = (LocationManager)c.GetSystemService(Context.LocationService);
            Criteria        crit = new Criteria();

            crit.Accuracy = Accuracy.Fine;
            string lp = lm.GetBestProvider(crit, true);

            if (lp != null)
            {
                lm.RequestLocationUpdates(lp, 0, 0, this);
            }
            // Event handler voor wanneer de kaart wordt aangeraakt
            this.Touch += RaakAaan;
        }