Note that there are some explanatory texts on larger screens.

plurals
  1. PODropping Pin on map with button push -- iOS
    primarykey
    data
    text
    <p>While my end project is not another where did I park app. I thought this would be a good place to start to get a good grasp of <code>MKMap</code> and <code>Locations</code>.</p> <p>Ok so I can set pins, see myself, and get my current location to show up in a label. </p> <p>What I can't do is: </p> <p>A. On a button push<br> 1) Store the users current location. 2) Drop a pin(red) in the current users location. (So the new pin stays even if the user(blue) moves) </p> <p>B. On a separate button push 1) Clear the pin of the users dropped pin(red) off the map.</p> <p>I cannot seem to set the map annotation for the new pin in the button. The numbers change and the map does not refresh(i'm guessing) to show my pin with or with out the right set of coords in it. </p> <p>This what I have so far. (NO SNICKERING) :P </p> <pre><code>#import "Find_My_CarViewController.h" #import "MapAnnotation.h" @implementation Find_My_CarViewController @synthesize CLController; @synthesize hereIamLat; @synthesize hereIamLong; @synthesize mapView; - (void)dealloc { [hereIamLat release]; [hereIamLong release]; [CLController release]; [super dealloc]; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; CLController = [[CoreLocationController alloc] init]; CLController.delegate = self; [CLController.locMgr startUpdatingLocation]; } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return (interfaceOrientation == UIInterfaceOrientationPortrait); } -(void)viewWillAppear:(BOOL)animated { MKCoordinateRegion region; region.center.latitude =40.798356; region.center.longitude= -81.411158; region.span.longitudeDelta=0.3; region.span.latitudeDelta =0.3; [mapView setRegion:region animated:YES]; } - (void)locationUpdate:(CLLocation *)location { latitudeLabel.text = [NSString stringWithFormat:@"LATITUDE: %f", location.coordinate.latitude]; longitudeLabel.text = [NSString stringWithFormat:@"LONGITUDE: %f", location.coordinate.longitude]; //hereIamLat = [NSString stringWithFormat:@"%g", location.coordinate.latitude]; //hereIamLong = [NSString stringWithFormat:@"%g", location.coordinate.longitude]; } - (void)locationError:(NSError *)error { //speedLabel.text = [error description]; } -(IBAction)PushToMark { NSScanner *strLat = [NSScanner scannerWithString:latitudeLabel.text]; double dblLat; [strLat scanDouble:&amp;dblLat]; NSScanner *strLong = [NSScanner scannerWithString:longitudeLabel.text]; double dblLong; [strLong scanDouble:&amp;dblLong]; NSLog(@"lat: %f",dblLat); NSLog(@"long: %f",dblLong); MKCoordinateRegion location1; location1.center.latitude =dblLat; location1.center.longitude= dblLong; location1.span.longitudeDelta=0.1; location1.span.latitudeDelta =0.1; MapAnnotation *ann1 =[[[MapAnnotation alloc] init] autorelease]; ann1.title=@"Here"; ann1.subtitle=@"I AM"; ann1.coordinate= location1.center; [mapView addAnnotation:ann1]; } @end </code></pre> <p>Edit: Ok so I went this route thanks.</p> <pre><code>#import "LocationTestViewController.h" #import "CoreLocation/CoreLocation.h" #import "MapAnnotation.h" @implementation LocationTestViewController @synthesize locationManager; @synthesize mapView; - (void)dealloc { [mapView release]; [locationManager release]; [super dealloc]; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle /* // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; } */ - (void)viewDidUnload { [self setMapView:nil]; [self setLocationManager:nil]; [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return (interfaceOrientation == UIInterfaceOrientationPortrait); } - (IBAction)getLocation:(id)sender { locationManager = [[CLLocationManager alloc] init]; locationManager.distanceFilter=kCLDistanceFilterNone; locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; [locationManager startUpdatingLocation]; [mapView setMapType:MKMapTypeStandard]; [mapView setZoomEnabled:YES]; [mapView setScrollEnabled:YES]; MKCoordinateRegion region = {{0.0,0.0},{0.0,0.0}}; region.center.latitude = locationManager.location.coordinate.latitude; region.center.longitude = locationManager.location.coordinate.longitude; region.span.longitudeDelta = 0.005f; region.span.latitudeDelta = 0.005f; [mapView setRegion:region animated:YES]; [mapView setDelegate:sender]; MKCoordinateRegion location1; location1.center.latitude =locationManager.location.coordinate.latitude; location1.center.longitude= locationManager.location.coordinate.longitude; location1.span.longitudeDelta=0.1; location1.span.latitudeDelta =0.1; MapAnnotation *ann1 =[[[MapAnnotation alloc] init] autorelease]; ann1.title=@"You Parked Here"; ann1.subtitle=@""; ann1.coordinate= location1.center; [mapView addAnnotation:ann1]; } @end </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload