美文网首页
ios系统自带地图功能使用MapKit

ios系统自带地图功能使用MapKit

作者: 被风吹乱的思念 | 来源:发表于2017-08-18 16:58 被阅读81次

1.先展示效果图

展示的效果很简单,就是根据经纬度找地址。

2.注意点

库文件

大家不要忘了导库

3.代码展示

3.1   .m文件

```

- (void)viewDidLoad {

[super viewDidLoad];

/**类型

MKMapTypeStandard = 0,可映射类型标准

MKMapTypeSatellite,  可映射类型卫星

MKMapTypeHybrid,  可映射类型混合(普通地图覆盖于卫星云图之上)

MKMapTypeSatelliteFlyover MK地图类型的国家立交桥(3D 立体卫星)

MKMapTypeHybridFlyover    MK地图型混合飞行(3D 立体混合)

*/

//设置地图的显示风格

self.mapView.mapType = MKMapTypeStandard;

//设置地图可缩放

self.mapView.zoomEnabled = YES;

//设置地图可滚动

self.mapView.scrollEnabled = YES;

//设置地图可旋转

self.mapView.rotateEnabled = YES;

//设置显示用户当前位置

self.mapView.showsUserLocation = YES;

//为mapView设置代理

self.mapView.delegate = self;

[self locateTolatitude:23.126272 longitude:113.395568];

NSLog(@"用户当前是否位于地图中:%d" , self.mapView.userLocationVisible);

}

- (IBAction)gogogo:(id)sender {

//关闭两个文本框的虚拟键盘

[self.weidu resignFirstResponder];

[self.jingdu resignFirstResponder];

NSString* latitudeStr = self.weidu.text;

NSString* longtitudeStr = self.jingdu.text;

//如果用户输入的经纬度不为空

if (latitudeStr != nil && latitudeStr.length > 0

&& longtitudeStr != nil && longtitudeStr.length > 0)

{

// 调用自己实现的方法设置地图的显示位置和显示区域

[self locateTolatitude:latitudeStr.floatValue

longitude:longtitudeStr.floatValue];

}

}

-(void)locateTolatitude:(CGFloat)latitude longitude:(CGFloat)longitude

{

//设置地图中心的经度维度

CLLocationCoordinate2D center = {latitude,longitude};

// 也可以使用如下方式设置经、纬度

//center.latitude = latitude;

// center.longitude = longitude;

//设置地图的显示范围

MKCoordinateSpan span;

//地图显示范围越小,越清楚

span.latitudeDelta = 0.01;

span.longitudeDelta = 0.01;

// 创建MKCoordinateRegion对象,该对象代表了地图的显示中心和显示范围。

MKCoordinateRegion region = {center,span};

// 设置当前地图的显示中心和显示范围

[self.mapView setRegion:region animated:YES];

}

#pragma mark -MKMapViewDelegate(地图代理)

// MKMapViewDelegate协议中的方法,当MKMapView显示区域将要发生改变时激发该方法

- (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated

{

NSLog(@"地图控件的显示区域将要发生改变!");

}

// MKMapViewDelegate协议中的方法,当MKMapView显示区域改变完成时激发该方法

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animatedx

{

NSLog(@"地图控件的显示区域完成了改变!");

}

// MKMapViewDelegate协议中的方法,当MKMapView开始加载数据时激发该方法

- (void) mapViewWillStartLoadingMap:(MKMapView *)mapView

{

NSLog(@"地图控件开始加载地图数据!");

}

// MKMapViewDelegate协议中的方法,当MKMapView加载数据完成时激发该方法

- (void) mapViewDidFinishLoadingMap:(MKMapView *)mapView

{

NSLog(@"地图控件加载地图数据完成!");

}

// MKMapViewDelegate协议中的方法,当MKMapView加载数据失败时激发该方法

- (void) mapViewDidFailLoadingMap:(MKMapView *)mapView

withError:(NSError *)error

{

NSLog(@"地图控件加载地图数据发生错误,错误信息 %@!" , error);

}

// MKMapViewDelegate协议中的方法,当MKMapView开始渲染地图时激发该方法

- (void) mapViewWillStartRenderingMap:(MKMapView *)mapView

{

NSLog(@"地图控件开始渲染地图!");

}

// MKMapViewDelegate协议中的方法,当MKMapView渲染地图完成时激发该方法

- (void) mapViewDidFinishRenderingMap:(MKMapView *)mapView

fullyRendered:(BOOL)fullyRendered

{

NSLog(@"地图控件渲染地图完成!");

}

```

4.代码粗糙,见谅。

相关文章

  • ios系统自带地图功能使用MapKit

    1.先展示效果图 展示的效果很简单,就是根据经纬度找地址。 2.注意点 大家不要忘了导库 3.代码展示 3.1 ...

  • CoreLocation定位

    定位 -在iOS开发中想要加入定位和地图功能,那么必须基于CoreLocation和MapKit2个框架进行开发-...

  • iOS开发之利用苹果系统自带地图进行地图开发

    iOS中有一个系统自带的 完整的一套地图框架——MapKit.Framework和CoreLocation.Fra...

  • iOS Mapkit的使用

    【iOS】Mapkit的使用:地图显示、定位、大头针、气泡等 标签:iOS地图mapkit 1.显示地图 (1)首...

  • UIActivityViewController分享时禁用微信

    iOS使用UIActivityViewController可以调起系统自带的分享功能,但是系统自带的微信分享不支持...

  • [移动web]字体

    一.使用设备自带字体 ios 系统 android 系统 winphone 系统 总结: 问题:但是,如果微信活动...

  • 高屋建瓴, iOS地图开发

    在 iOS 中, 地图开发经常会用到的三个框架, 一个是苹果系统自带的 MapKit 框架, 另外两个, 一个是百...

  • 英语听说测试系统IOS访问方案

    先决条件: IOS系统版本>=11(可能IOS10也行) IpadoriPhone皆可 仅可以使用系统自带Safa...

  • Mapkit地图显示

    导入头文件“MapKit.h” 1、MKMapView 能够显示ios自带的地图(国内默认为高德地图) mapTy...

  • 百度地图初体验

    基本功能 地图百度地图的基本使用和苹果自带的Mapkit差不多,很多方法都是类似的 定位iOS9之后定位权限只有系...

网友评论

      本文标题:ios系统自带地图功能使用MapKit

      本文链接:https://www.haomeiwen.com/subject/ojvarxtx.html