nsl*_*cum 6 mapkit ios mkoverlay ios5
我需要在地图上显示MKOverlay,但无法让它实际显示.
我正在关注Apple的位置感知编程指南中的示例,并且不会显示叠加层.任何帮助将不胜感激,这是我制作的第一个iPhone应用程序,所以我可能会遗漏一些简单的东西.
NavViewController.h
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface NavViewController : UIViewController <MKMapViewDelegate> {
}
@property (weak, nonatomic) IBOutlet MKMapView *mapView;
@end
Run Code Online (Sandbox Code Playgroud)
NavViewController.m
#import "MSUNavViewController.h"
#import <CoreLocation/CoreLocation.h>
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
if ([overlay isKindOfClass:[MKPolygon class]])
{
MKPolygonView* aView = [[MKPolygonView alloc] initWithPolygon:(MKPolygon*)overlay];
aView.fillColor = [[UIColor cyanColor] colorWithAlphaComponent:0.2];
aView.strokeColor = [[UIColor blueColor] colorWithAlphaComponent:0.7];
aView.lineWidth = 3;
return aView;
}
return nil;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Define an overlay that covers Colorado.
CLLocationCoordinate2D points[4];
points[0] = CLLocationCoordinate2DMake(41.000512, -109.050116);
points[1] = CLLocationCoordinate2DMake(41.002371, -102.052066);
points[2] = CLLocationCoordinate2DMake(36.993076, -102.041981);
points[3] = CLLocationCoordinate2DMake(36.99892, -109.045267);
MKPolygon* poly = [MKPolygon polygonWithCoordinates:points count:4];
poly.title = @"Colorado";
[_mapView addOverlay:poly];
}
Run Code Online (Sandbox Code Playgroud)
故事板:

任何编码建议将不胜感激.谢谢!
确保将mapView设置delegate为视图控制器实例(可能File's owner在这种情况下).
在界面构建器中,右键单击地图视图,从委托右侧的空心圆拖动到左侧窗格中"占位符"部分的"文件"的"所有者"图标.
对于storyboard,请连接到View Controller图标而不是File的所有者.
| 归档时间: |
|
| 查看次数: |
5472 次 |
| 最近记录: |