iOS映射GPS位置,在地图上实现蓝球位置和箭头标志

时间:2011-10-02 14:53:55

标签: ios objective-c gps mapkit

1。)我需要在地图上有一个蓝色的圆圈/位置点,如下所示。

  • 叫什么?
  • 我该如何实施?

enter image description here

2.。如何在弹出屏幕上显示如下箭头?
enter image description here

1 个答案:

答案 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 questionthis one,我认为它可以帮助你解决问题的第二部分。

希望这有帮助。