-1

我一直在使用核心数据在表格视图中多次保存用户的位置。现在我实际上可以在不同时间获得位置详细信息(主要是坐标),我想在 MapView 上绘制每次可用的坐标(没有覆盖,只是一个点来指向当时的位置) . 我有可用的坐标(一个纬度和一个经度值),但我想知道如何在 MapView 上绘制它们。

只是简单地提出我的问题,如何在地图视图上绘制坐标?

我刚刚浏览了 SO,但找不到可以解决我的问题的确切解决方案!任何帮助都感激不尽。

谢谢你的时间 !

问候,

拉吉。

4

1 回答 1

0

借助 MKAnnotation,可以解决这个问题。感谢@Craig 和 Vishal Kurup!

创建一个注解类作为 NSObject 的子类。

在 Annotation.h 中:

@interface Annotation : NSObject <MKAnnotation>

@property (nonatomic, assign) CLLocationCoordinate2D coordinate;
@property (nonatomic, assign) NSString *title;
@property (nonatomic, assign) NSString *subtitle;

@end

它应该符合 MKAnnotation 并且三个属性是符合 MKAnnotation 类时需要的。声明它们并在 .m 文件中合成它们。

在 MapHistoryViewController 实现文件中,我们需要添加几行代码来查看所需坐标处的注解。

MapHistoryViewController.m:

@interface MapHistoryViewController (){
    CLLocationCoordinate2D annotationCoord;
    Annotation *annotation;
}

@end

@implementation MapHistoryViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

// To define coordinate for the annotation 
    annotationCoord.latitude = mapHistoryLocation.coordinate.latitude;
    annotationCoord.longitude = mapHistoryLocation.coordinate.longitude;

    annotation = [Annotation alloc];
    annotation.coordinate = annotationCoord;
    annotation.title = streetAnnotation;

    // to display the annotation
    [self.mapHistoryView addAnnotation:annotation];
// where mapHistoryView is my MKMapView object 
}

//You can set the region too, if you want the map to be focused on the coordinates you  have provided
//Hope this will help the people with the same question :) 
于 2013-05-19T13:34:34.567 回答