1.)我需要在地图上有一个蓝色的圆圈/位置点,如下所示. 它叫什么? 我该如何实现它? 2.)如何在弹出屏幕上显示如下箭头? 我想你所追求的是MKMapView;如果是这样,您只需要在界面构建器
>它叫什么?
>我该如何实现它?
2.)如何在弹出屏幕上显示如下箭头?
我想你所追求的是MKMapView;如果是这样,您只需要在界面构建器中添加它,并且“属性”检查器面板中有一个选项(复选框),允许您“显示用户位置”.通过选中该框,它将使地图上出现蓝点(如果您使用的是iPhone模拟器,它将仅显示为Cupertio).关于开始使用iPhone的地图视图的大量简单教程.这是一个pretty good one.如果你不喜欢它,那么我建议你使用谷歌的’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];
然后,您可以获得当前的纬度和使用委托方法的经度:
- (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,我认为它应该可以帮助你解决问题的第二部分.
希望这可以帮助.