[IOS]地图的简单应用

IOSMapKit如何快速入门?下面我来写一个简单的Demo,做简要介绍。

效果图:

操作步骤:

1.首先创建一个项目,在xib的view中添加一个MapVIew控件,并且导入MapKit.framework和CoreLocation.frameword框架。

2.实现ViewController的代码:

ViewController.h:

#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>
@interface DXWViewController : UIViewController<CLLocationManagerDelegate>
@property (retain, nonatomic) IBOutlet MKMapView *mapview;
@property(retain,nonatomic)CLLocationManager *manager;
@property(retain,nonatomic)CLLocation *location;
@property (retain, nonatomic) IBOutletCollection(UILabel) NSArray *labels;
@end

ViewController.m:

#import "DXWViewController.h"
#import "Place.h"
@interface DXWViewController ()

@end

@implementation DXWViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.manager  = [[CLLocationManager alloc] init];
    self.manager.delegate = self;
    //精度
    self.manager.desiredAccuracy = kCLLocationAccuracyBest;
    [self.manager startUpdatingLocation];
	self.mapview.showsUserLocation = YES;
}

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    self.location = [locations objectAtIndex:0];
    [self.labels[0] setText:[NSString stringWithFormat:@"%f\u00B0",self.location.coordinate.longitude]];
    [self.labels[1] setText:[NSString stringWithFormat:@"%f\u00B0",self.location.coordinate.longitude]];
    [self.labels[2] setText:[NSString stringWithFormat:@"%gm",self.location.horizontalAccuracy]];
    [self.labels[3] setText:[NSString stringWithFormat:@"%gm",self.location.altitude]];
    [self.labels[4] setText:[NSString stringWithFormat:@"%gm",self.location.verticalAccuracy]];

    Place *place = [[Place alloc] init];
    place.coordinate = self.location.coordinate;
    place.title = @"Title";
    place.subtitle = @"subTitle";

    [self.mapview addAnnotation:place];
    //设置精度范围
    MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(place.coordinate, 1000, 1000);
    [self.mapview setRegion:region animated:YES];
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

- (void)dealloc {
    [_mapview release];
    [_labels release];
    [super dealloc];
}
@end

3.创建大头针的类:

Place.h:

#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
@interface Place : NSObject<MKAnnotation>

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

@end
时间: 2024-08-29 07:00:41

[IOS]地图的简单应用的相关文章

苹果iOS地图应用不幸地落伍

导语:美国<连线>杂志网络版今天撰文称,由于地图服务不仅需要技术,还要以庞大的数据库为基础,而现有的多数地图数据提供商都已"名花有主",导致苹果自主开发的地图服务面临重大挑战.然而,为了全面控制用户体验,苹果不得不冒险一试. 以下为文章全文: 新品发布 苹果iOS地图应用不幸地落伍了.事实上,很多第三方iOS应用都可以提供该应用所缺乏的功能.更令苹果难堪的是:Android内置的地图应用早就可以提供"建议路线"导航功能了,但苹果却迟迟未能推出该功能尽管它

ags 地图服务 ios-AGS之ios地图服务只能显示一个地图服务

问题描述 AGS之ios地图服务只能显示一个地图服务 AGSTiledMapServiceLayer用他来显示普通地图和影像地图,可是如果我先加载哪个服务就只能显示哪个服务,我的功能是默认显示影像地图的服务,之后可以切换为普通地图服务,可是切换的时候就是不显示普通地图服务.不知道为什么,求大神们指教.

【高德API】如何利用MapKit开发全英文检索的iOS地图

原文:[高德API]如何利用MapKit开发全英文检索的iOS地图 制作全英文地图的展示并不困难,但是要制作全英文的数据检索列表,全英文的信息窗口,你就没办法了吧.告诉你,我有妙招!使用iOS自带的MapKit来展示全球英文底图,结合上高德API的中英文检索功能,就能打造POI数据最丰富,英文展示全方位的纯英文地图啦!看看截图,是不是浑然天成? ----------------------------------------------------------------------------

招聘信息显示苹果开发iOS地图应用

北京时间3月26日上午消息,苹果最新的招聘信息显示,苹果仍在继续开发该公司自己的移动地图服务,这一地图服务将区别于谷歌地图. 招聘信息显示,苹果总部招聘一名iOS地图应用开发者.这名开发者将协助"改进用户与地图和地理位置服务互动的方式".应聘者必须熟悉界面设计,并对地理位置技术"有热情". 当前iOS系统中的地图应用仍有较大改进空间.自苹果2007年推出第一代iPhone后,iPhone的地图应用并没有经过太大的升级.iOS的地图应用目前采用谷歌地图技术,但与And

关于Android高德地图的简单开发实例代码(DEMO)_Android

废话不多说了,直接给大家上干货了. 以下为初次接触时 ,练手的DEMO import android.app.Activity; import android.app.ProgressDialog; import android.content.ContentValues; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatab

谷歌高管发言或预示iOS地图战争将继续

我们都知道,苹果在http://www.aliyun.com/zixun/aggregation/11676.html">iOS6上用自身的地图应用替换谷歌地图.而此前根据一位前谷歌员工的说法,两家公司 围绕着地图应用已经争斗了数年.苹果胜了吗?并不尽然.据国外媒体报道,谷歌商业和本地化高级副总裁Jeff Huber在其Google+中证实,将会在iOS上推出谷歌地图全新体验.这预示着新一轮的iOS地图大战或许又将展开. 据介绍,Jeff Huber是在一条对 网友的回复中提及此事的.那位

福斯特尔拒绝为iOS地图问题承担责任导致了他的离职

在周四接受BBC采访时,前苹果高管.iPod之父托尼·法德尔(Tony Fadell)表示,iOS主管斯科特·福斯特尔(Scott Forstall)被苹果驱逐是他应得的下场,这再次表明福斯特尔强悍的性格招来广泛的不满.法德尔于2008年底从苹果离职,2011年曾有媒体报道称,他的离职是因为与福斯特尔之间不断斗争引发了浓厚的火药味.对于福斯特尔的离职,法德尔表示:"那是斯科特应得的下场.我认为几周前发生的事情是应得的,正确的."关于苹果的未来,法德尔认为,福斯特尔离职是一件好事,这表明

iOS地图大战打响!谷歌表示将提供令人难忘的地图体验

谷歌商务和本地服务高级副总裁Jeff Hubber昨晚在Google+社交网络上发表状态,表示谷歌想为iOS用户提供令人难忘的地图体验.这种语气听起来有点像苹果将更新基于网页的地图应用,谷歌有可能发布独立的iOS地图应用,与苹果自家的地图应用直接竞争.在本月WWDC之前,谷歌发布了全新的3D地图模式,该功能将于不久之后登陆iOS.也许我们会在即将举行的谷歌I/O大会上得到关于谷歌iOS地图更多新消息.当然,竞争对于消费者来说总是好的.

苹果获iOS地图应用GUI专利(图)

苹果获iOS地图应用GUI专利北京时间10月31日凌晨消息,美国专利与商标局周二授予苹果一项图形用户界面(GUI)专利,该项技术被应用在iPhone OS 2.0以来的所有版本的iOS地图应用中.这项专利的专利号为8302033,专利名称为提供地图.导航和位置相关信息的触摸屏设备.方法和图形用户界面.苹果在第二代iPhone OS(后来被称为iOS)中引入了地图应用,在iOS 6之前,苹果地图应用的数据来自谷歌地图.在iOS 6之后,苹果抛弃了谷歌地图,改用自家地图服务.这项专利的申请时间是20