1。)我需要在地图上有一个蓝色的圆圈/位置点,如下所示。
2.。如何在弹出屏幕上显示如下箭头?
答案 0 :(得分:7)
我认为你所追求的是MKMapView;如果是这样,您只需要在界面构建器中添加它,并且“属性”检查器面板中有一个选项(复选框),允许您“显示用户位置”。通过选中该框,它将使地图上出现蓝点(如果您使用的是iPhone模拟器,它将仅显示为Cupertio)。
有很多关于iPhone地图视图入门的简单教程。这是一个pretty good one。如果您不喜欢它,那么我建议您使用Google的“MkMapView教程”,您应该找到大量有用的信息。
为了获得用户的位置(纬度和经度),您需要做一些事情:
1)确保您已导入CoreLocation框架(CoreLocation.framework)
2)您需要将以下内容添加到.h文件中:
#import <CoreLocation/CoreLocation.h>
@interface exampleViewController : UIViewController <CLLocationManagerDelegate>
{
CLLocationManager *locationManager;
}
@property(nonatomic, retain)CLLocationManager *locationManager;
3)您需要将以下内容添加到.m文件中(适用于您的应用的任何地方)
这部分将创建CLLocationManager的实例:
self.locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
然后,您可以获得当前的纬度&amp;使用委托方法的经度:
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
NSLog(@"New latitude: %f", newLocation.coordinate.latitude);
NSLog(@"New longitude: %f", newLocation.coordinate.longitude);
}
你也应该看看这个existing question和this one,我认为它可以帮助你解决问题的第二部分。
希望这有帮助。