iOS开发那些事-iOS6苹果地图实用开发

来源:未知 责任编辑:责任编辑 发表时间:2014-05-26 10:58 点击:

在iOS 6之后,不再使用谷歌地图了,而是使用苹果自己的地图,但是API编程接口没有太大的变化。开发人员不需要再学习很多新东西就能开发地图应用,这是负责任的做法。因此本节介绍的内容也同样适用于iOS5上运行地图应用开发。


iOS应用程序中使用Map Kit API开发地图应用程序。 其核心是MKMapView类使用。我们可以设置地图显示方式、控制地图,可以在地图上添加标注。

显示地图

在Map Kit API中显示地图的视图是MKMapView,它的委托协议是MKMapViewDelegate。Map Kit API使用需要导入MapKit框架。

下面我们通过一个案例介绍一下面我们介绍一下Map Kit API的使用。这个案例在“输入查询地点关键字”文本框中输入关键字,点击“查询”按钮,先进行地理信息编码查询,查询获得地标信息后,在地图上标注出来。

 

首先添加框架MapKit.framework。然后在工程中打开MainStoryboard.storyboard的IB设计,从对象库中拖拽Map View到设计画面中。

 

调整它的位置和大小使得Map View尽可能填出画面下面的空白部分,然后为Map View定义输入出口。下面我们看看主视图控制器ViewController.h代码:

[cpp]
#import <UIKit/UIKit.h>  
 
#import <MapKit/MapKit.h>  
 
#import ”MapLocation.h”  
 
  
 
@interface ViewController : UIViewController <MKMapViewDelegate> 
 
  
 
@property (weak, nonatomic) IBOutlet UITextField *txtQueryKey; 
 
  
 
@property (weak, nonatomic) IBOutlet MKMapView *mapView; 
 
  
 
- (IBAction)geocodeQuery:(id)sender; 
 
  
 
@end 

#import <UIKit/UIKit.h>

#import <MapKit/MapKit.h>

#import ”MapLocation.h”

 

@interface ViewController : UIViewController <MKMapViewDelegate>

 

@property (weak, nonatomic) IBOutlet UITextField *txtQueryKey;

 

@property (weak, nonatomic) IBOutlet MKMapView *mapView;

 

- (IBAction)geocodeQuery:(id)sender;

 

@end


由于使用Map Kit API,需要引入头文件<MapKit/MapKit.h>,头文件”MapLocation.h”是我们自己定义的描述地图标注点类。在定义ViewController时,还需要声明实现MKMapViewDelegate协议。txtQueryKey属性是查询关键字文本框,mapView属性是MKMapView类型,它与画面对应。点击查询按钮触发geocodeQuery:方法,它处理查询并在地图上做标注。

下面我看看ViewController.m的viewDidLoad方法代码:

[cpp]
- (void)viewDidLoad 
 

 
[super viewDidLoad]; 
 
_mapView.mapType = MKMapTypeStandard; 
 
_mapView.delegate = self; 
 

- (void)viewDidLoad

{

[super viewDidLoad];

_mapView.mapType = MKMapTypeStandard;

_mapView.delegate = self;

}


在viewDidLoad方法中设置地图的类型,它的类型有3种:

MKMapTypeStandard 标注地图类型。

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Lexical or Preprocessor Issue 'xxx.h
  • ios学习笔记(二)xcode 4.3.2下实现基本交互
  • ios版本的helloworld
  • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
  • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
  • IOS类似iphone通讯录TableView的完整demo【附源码】
  • UITableView一些方法
  • [iPhone中级]iPhone团购信息客户端的开发 (二)
  • iphone(object-c)内存管理(1)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1