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

Ill*_*lep 3 gps objective-c mapkit ios

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

  • 这叫什么?
  • 我该如何实现它?

在此输入图像描述

2.)如何在弹出屏幕上显示如下箭头?
在此输入图像描述

The*_*imp 7

我想你所追求的是MKMapView; 如果是这样,您只需要在界面构建器中添加它,并且"属性"检查器面板中有一个选项(复选框),允许您"显示用户位置".通过选中该框,它将使地图上出现蓝点(如果您使用的是iPhone模拟器,它将仅显示为Cupertio).

关于开始使用iPhone的地图视图的大量简单教程.这是一个非常好的.如果您不喜欢它,那么我建议您使用Google的"MkMapView教程",您应该找到大量有用的信息.

为了获得用户的位置(经度和纬度),您需要做一些事情:

1)确保您已导入CoreLocation框架(CoreLocation.framework)

2)您需要将以下内容添加到.h文件中:

#import <CoreLocation/CoreLocation.h>

@interface exampleViewController : UIViewController <CLLocationManagerDelegate>
{
    CLLocationManager *locationManager;
}

@property(nonatomic, retain)CLLocationManager *locationManager;
Run Code Online (Sandbox Code Playgroud)

3)您需要将以下内容添加到.m文件中(适用于您的应用的任何地方)

这部分将创建CLLocationManager的一个实例:

 self.locationManager = [[CLLocationManager alloc] init];
 locationManager.delegate = self;
 locationManager.desiredAccuracy = kCLLocationAccuracyBest;
 [locationManager startUpdatingLocation];
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用委托方法获取当前的纬度和经度:

- (void)locationManager:(CLLocationManager *)manager 
    didUpdateToLocation:(CLLocation *)newLocation 
           fromLocation:(CLLocation *)oldLocation
{
    NSLog(@"New latitude: %f", newLocation.coordinate.latitude);
    NSLog(@"New longitude: %f", newLocation.coordinate.longitude);
}
Run Code Online (Sandbox Code Playgroud)

你也应该看看这个现有的问题这个问题,我认为它应该可以帮助你解决问题的第二部分.

希望这可以帮助.