iOS 地图(添加大头针)

摘要:
首先,导入MapKit。框架库文件1#import<UIKit/UIKit。h˃ 在项目中23@interfaceAppDelegate:UIResponder45@property(强,非原子)UIWindow*窗口;67@end1#import“AppDelegate.h”2#import“RootViewC

首先在工程中导入MapKit.framework库文件

1 #import <UIKit/UIKit.h>
2 
3 @interface AppDelegate : UIResponder <UIApplicationDelegate>
4 
5 @property (strong, nonatomic) UIWindow *window;
6 
7 @end
 1 #import "AppDelegate.h"
 2 #import "RootViewController.h"
 3 @interface AppDelegate ()
 4 
 5 @end
 6 
 7 @implementation AppDelegate
 8 
 9 
10 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
11     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
12     // Override point for customization after application launch.
13     self.window.backgroundColor = [UIColor whiteColor];
14     
15     self.window.rootViewController = [[RootViewController alloc] init];
16     
17     [self.window makeKeyAndVisible];
18     return YES;
19 }
20 
21 @end
1 #import <UIKit/UIKit.h>
2 
3 @interface RootViewController : UIViewController
4 
5 @end
 1 #import "RootViewController.h"
 2 #import <MapKit/MapKit.h>
 3 #import "YXYCAnation.h"
 4 
 5 @interface RootViewController ()<MKMapViewDelegate>
 6 
 7 @end
 8 
 9 @implementation RootViewController
10 
11 - (void)viewDidLoad {
12     [super viewDidLoad];
13     // 初始化MKMapView
14     MKMapView *mapView = [[MKMapView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
15     // 设置代理
16     mapView.delegate = self;
17     // 设置显示当前位置
18     mapView.showsUserLocation = YES;
19     // 设置地图显示类型
20     mapView.mapType = MKMapTypeStandard;
21     // 经纬度
22     CLLocationCoordinate2D coord2D = {23.117000,113.27500};
23     // 显示范围精度
24     MKCoordinateSpan span = {0.01,0.01};
25     // 显示区域
26     MKCoordinateRegion region = {coord2D,span};
27     // 给地图设置显示区域
28     [mapView setRegion:region animated:YES];
29     [self.view addSubview:mapView];
30     
31     // 创建anation对象
32     CLLocationCoordinate2D showCoord = {23.117000,113.27500};
33     YXYCAnation *anation1 = [[YXYCAnation alloc] initWithCoordinate2D:showCoord];
34     anation1.title = @"越秀公园";
35     anation1.subtitle = @"小标题";
36     [mapView addAnnotation:anation1];
37 }
38 
39 #pragma mark -MKAnnotationView delegate-
40 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
41 {
42     static NSString *identify = @"Annotian";
43     MKPinAnnotationView *annotationView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:identify];
44     if (annotationView == nil) {
45         // MKPinAnnotationView 是大头针视图
46         annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identify];
47         // 设置是否显示标题视图
48         annotationView.canShowCallout = YES;
49         
50         UIButton *button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
51         [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
52         annotationView.rightCalloutAccessoryView = button;
53     }
54     annotationView.pinColor = MKPinAnnotationColorRed;
55     annotationView.animatesDrop = YES;
56     
57     return annotationView;
58 }
59 
60 - (void)buttonAction:(UIButton *)sender
61 {
62     NSLog(@"显示公园简介");
63 }
64 
65 @end
 1 #import <Foundation/Foundation.h>
 2 #import <MapKit/MapKit.h>
 3 @interface YXYCAnation : NSObject<MKAnnotation>
 4 
 5 @property (nonatomic, assign) CLLocationCoordinate2D coordinate;
 6 @property (nonatomic, copy) NSString *title;
 7 @property (nonatomic, copy) NSString *subtitle;
 8 
 9 - (id)initWithCoordinate2D:(CLLocationCoordinate2D)coordinate;
10 
11 @end
 1 #import "YXYCAnation.h"
 2 
 3 @implementation YXYCAnation
 4 
 5 - (id)initWithCoordinate2D:(CLLocationCoordinate2D)coordinate
 6 {
 7     self = [super init];
 8     if (self != nil) {
 9         _coordinate = coordinate;
10     }
11     return self;
12 }
13 
14 
15 @end

      效果图如下:

            iOS 地图(添加大头针)第1张 

免责声明:文章转载自《iOS 地图(添加大头针)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇jmeter负载机运行/添加压力机/分布式建立锚点、超链接 标签下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

SqlLite 简明教程

LIMIT运算符LIMIT子句指定要返回的记录数。WHERE表达式LIMITnumberLIKE运算符LIKE操作符用于在WHERE子句的列中搜索指定的模式。SELECT可以是简单的,也可以是复合的。请注意,UNION中的SELECT语句必须具有相同数量的字段。NOT NULL约束强制字段始终包含值。SQLNULL约束NULL值缺少未知数据。SQLPRIMA...

ESXi挂载NFS共享存储

使用万兆交换机,ESXi使用NFS协议连接存储。本文介绍的是通过NFS协议挂载共享存储上的VS01卷,共享存储上已经赋予ESXi主机访问该卷的权限。...

JavaMail给QQ邮箱发邮件报错

org.springframework.mail.MailAuthenticationException:身份验证失败;nestedexceptionisjavax.mail.AuthenticationFailedException:535错误:http://service.mail.qq.com/cgi-bin/help?subtype=1&&a...

sqlserver2016安装

2008以前的版本在SQLserver配置管理其中设置。...

grub2 windows版安装

一、BIOS方式,grub2安装查看磁盘情况E:grub-2.02-for-windows˃wmicdiskdrivelistbriefCaptionDeviceIDModelPartitionsSizeINTELSSDSCKKF256H6L\.PHYSICALDRIVE0INTELSSDSCKKF256H6L3256052966400SanDiskUltr...

016.PGSQL-创建分区表、分区表索引

创建分区表1.ORIENTATION决定了表的数据的存储方式。注意:orientation不支持修改2.COMPRESSION列存表的有效值为LOW/MIDDLE/HIGH/YES/NO,压缩级别依次升高,默认值为LOW。HDFS表的有效值为ZLIB/SNAPPY/NO,ZLIB的压缩比大于SNAPPY,默认值为SNAPPY。partition_value为...