【问题标题】:How do I set a pin's location on the user's current location?如何在用户当前位置设置图钉的位置?
【发布时间】:2014-08-14 00:39:06
【问题描述】:
//.h file
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>
@interface MapMain : UIViewController <MKMapViewDelegate>
{
MKMapView *mapView;
CLLocationManager *locationManager;
}

@property (nonatomic, retain) IBOutlet MKMapView *mapView;

-(IBAction)GetLocation:(id)sender;
-(IBAction)SetPin:(id)sender;

@end

//code within .m

- (void)viewDidLoad
{
self.mapView.showsUserLocation = YES;
self.mapView.delegate = self;
[self.mapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES];
// Do any additional setup after loading the view.
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m
[locationManager startUpdatingLocation];

}


-(NSString *)deviceLocation {
return [NSString stringWithFormat:@"latitude: %f longitude: %f",    locationManager.location.coordinate.latitude, locationManager.location.coordinate.longitude];
}


-(IBAction)SetPin:(id)sender
{
NSLog(@"%@", [self deviceLocation]);

Pin *newPin = [[Pin alloc]init];
newPin.coordinate = 
newPin.title = @"Title Tester";
newPin.subtitle = @"Sub Tester";
[self.mapView addAnnotation:newPin];

}

在“设置 Pin”中,我想将 newPin 的坐标设置为用户当前位置。我找到了函数“deviceLocation”,但不知道如何调用它并在我的 SetPin 函数中使用它。

请帮忙!!!

【问题讨论】:

    标签: objective-c annotations location


    【解决方案1】:

    在 MKMapView.h 的 MKMapViewDelegate 部分查看以下方法

    - (void)mapViewWillStartLocatingUser:(MKMapView *)mapView NS_AVAILABLE(10_9, 4_0);
    - (void)mapViewDidStopLocatingUser:(MKMapView *)mapView NS_AVAILABLE(10_9, 4_0);
    - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation NS_AVAILABLE(10_9, 4_0);
    - (void)mapView:(MKMapView *)mapView didFailToLocateUserWithError:(NSError *)error NS_AVAILABLE(10_9, 4_0);
    

    特别是mapView:didUpdateUserLocation: 从那里您可以获取用户位置并为您的心脏内容设置注释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多