public void SetLocation(MapLocation toLocation) { var targetLocation = toLocation.Location.To2D(); if (toLocation.Location.X == 0 && toLocation.Location.Y == 0) { // use the 'location manager' current coordinate if (locationManager.Location == null) { return; } { // catch a possible null reference that i saw once [CD] targetLocation = locationManager.Location.Coordinate; ConferenceAnnotation a = new ConferenceAnnotation(targetLocation, "My location", ""); mapView.AddAnnotationObject(a); } } else if (toLocation.Title == conf.Location.Title) { // no need to drop anything } else { // drop a new pin ConferenceAnnotation a = new ConferenceAnnotation(toLocation.Location.To2D(), toLocation.Title, toLocation.Subtitle); mapView.AddAnnotationObject(a); } mapView.CenterCoordinate = targetLocation; }
public void SetLocation (MapLocation toLocation) { var targetLocation = toLocation.Location.To2D(); if (toLocation.Location.X == 0 && toLocation.Location.Y == 0) { // use the 'location manager' current coordinate if (locationManager.Location == null) { return; } { // catch a possible null reference that i saw once [CD] targetLocation = locationManager.Location.Coordinate; ConferenceAnnotation a = new ConferenceAnnotation(targetLocation, "My location", ""); mapView.AddAnnotationObject(a); } } else if (toLocation.Title == conf.Location.Title) { // no need to drop anything } else { // drop a new pin ConferenceAnnotation a = new ConferenceAnnotation(toLocation.Location.To2D(), toLocation.Title,toLocation.Subtitle); mapView.AddAnnotationObject(a); } mapView.CenterCoordinate = targetLocation; }
public override void ViewDidLoad() { base.ViewDidLoad(); // no XIB ! mapView = new MKMapView() { ShowsUserLocation = true }; labelDistance = new UILabel() { Frame = new RectangleF(0, 0, 320, 49), Lines = 2, BackgroundColor = UIColor.Black, TextColor = UIColor.White }; var segmentedControl = new UISegmentedControl(); segmentedControl.Frame = new RectangleF(20, 320, 282, 30); segmentedControl.InsertSegment("Map", 0, false); segmentedControl.InsertSegment("Satellite", 1, false); segmentedControl.InsertSegment("Hybrid", 2, false); segmentedControl.SelectedSegment = 0; segmentedControl.ControlStyle = UISegmentedControlStyle.Bar; segmentedControl.TintColor = UIColor.DarkGray; segmentedControl.ValueChanged += delegate { if (segmentedControl.SelectedSegment == 0) { mapView.MapType = MonoTouch.MapKit.MKMapType.Standard; } else if (segmentedControl.SelectedSegment == 1) { mapView.MapType = MonoTouch.MapKit.MKMapType.Satellite; } else if (segmentedControl.SelectedSegment == 2) { mapView.MapType = MonoTouch.MapKit.MKMapType.Hybrid; } }; mapView.Delegate = new MapViewDelegate(this); // Set the web view to fit the width of the app. mapView.SizeToFit(); // Reposition and resize the receiver mapView.Frame = new RectangleF(0, 50, this.View.Frame.Width, this.View.Frame.Height - 100); MKCoordinateSpan span = new MKCoordinateSpan(0.2, 0.2); MKCoordinateRegion region = new MKCoordinateRegion(ConferenceLocation, span); mapView.SetRegion(region, true); ConferenceAnnotation a = new ConferenceAnnotation(ConferenceLocation , conf.Location.Title , conf.Location.Subtitle ); mapView.AddAnnotationObject(a); locationManager = new CLLocationManager(); locationManager.Delegate = new LocationManagerDelegate(mapView, this); locationManager.StartUpdatingLocation(); // Add the table view as a subview this.View.AddSubview(mapView); this.View.AddSubview(labelDistance); this.View.AddSubview(segmentedControl); // Add the 'info' button to flip var flipButton = UIButton.FromType(UIButtonType.InfoLight); flipButton.Frame = new RectangleF(290, 17, 20, 20); flipButton.Title(UIControlState.Normal); flipButton.TouchDown += delegate { _mfvc.Flip(); }; this.View.AddSubview(flipButton); }
public override void ViewDidLoad () { base.ViewDidLoad (); // no XIB ! mapView = new MKMapView() { ShowsUserLocation = true }; labelDistance = new UILabel() { Frame = new RectangleF (0, 0, 320, 49), Lines = 2, BackgroundColor = UIColor.Black, TextColor = UIColor.White }; var segmentedControl = new UISegmentedControl(); segmentedControl.Frame = new RectangleF(20, 320, 282,30); segmentedControl.InsertSegment("Map", 0, false); segmentedControl.InsertSegment("Satellite", 1, false); segmentedControl.InsertSegment("Hybrid", 2, false); segmentedControl.SelectedSegment = 0; segmentedControl.ControlStyle = UISegmentedControlStyle.Bar; segmentedControl.TintColor = UIColor.DarkGray; segmentedControl.ValueChanged += delegate { if (segmentedControl.SelectedSegment == 0) mapView.MapType = MonoTouch.MapKit.MKMapType.Standard; else if (segmentedControl.SelectedSegment == 1) mapView.MapType = MonoTouch.MapKit.MKMapType.Satellite; else if (segmentedControl.SelectedSegment == 2) mapView.MapType = MonoTouch.MapKit.MKMapType.Hybrid; }; mapView.Delegate = new MapViewDelegate(this); // Set the web view to fit the width of the app. mapView.SizeToFit(); // Reposition and resize the receiver mapView.Frame = new RectangleF (0, 50, this.View.Frame.Width, this.View.Frame.Height - 100); MKCoordinateSpan span = new MKCoordinateSpan(0.2,0.2); MKCoordinateRegion region = new MKCoordinateRegion(ConferenceLocation,span); mapView.SetRegion(region, true); ConferenceAnnotation a = new ConferenceAnnotation(ConferenceLocation , conf.Location.Title , conf.Location.Subtitle ); mapView.AddAnnotationObject(a); locationManager = new CLLocationManager(); locationManager.Delegate = new LocationManagerDelegate(mapView, this); locationManager.StartUpdatingLocation(); // Add the table view as a subview this.View.AddSubview(mapView); this.View.AddSubview(labelDistance); this.View.AddSubview(segmentedControl); // Add the 'info' button to flip var flipButton = UIButton.FromType(UIButtonType.InfoLight); flipButton.Frame = new RectangleF(290,17,20,20); flipButton.Title (UIControlState.Normal); flipButton.TouchDown += delegate { _mfvc.Flip(); }; this.View.AddSubview(flipButton); }