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(); }
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; }