电 话:0

手 机:0

联系人:刘先生

E_mail:2074917417@qq.com

地 址:成都市金牛区

您当前的位置是:主页 > 行业资讯 > news >

news

IOS软件开发中如何显示地图

发布时间:2022/01/10 丨 文章来源:未知 丨 浏览次数:

在iOS 6之后,苹果自己的地图代替了谷歌地图,但是API编程接口没有太大的变化,所以APP开发人员不需要再学习很多新东西就能开发地图应用。在iOS应用程序中,我们使用Map Kit API开发地图应用,其核心是MKMapView类。那么今天南昌APP制作开发公司-网络就来为大家简单介绍一下如何显示iOS苹果地图。

在Map Kit API中,显示地图的视图是MKMapView,它的委托协议是MKMapViewDelegate。使用Map Kit API时, 需要导入MapKit框架。下面我们通过如图1所示的案例介绍一下Map Kit API的用法,在“输入查询地点关键字”文本框中输入 关键字,点击“查询”按钮,先进行地理信息编码查询,获得地标信息后,会在地图上标注出来。

iOS地图应用案例

图1 iOS地图应用案例

首先,请参考图2的操作添加框架MapKit.framework,然后在工程中打开MainStoryboard.storyboard的 Interface Builder设计界面,从对象库中拖曳MapKit View到设计界面中,如图3所示。

模拟器位置菜单

图2 模拟器位置菜单

在Interface Builder中设计MapKit View

图3 在Interface Builder中设计MapKit View

调整MapKit View的位置和大小,使其尽可能充满界面下面的空白部分,然后为MapKit View定义输出口。下面我们看看视图控制器ViewController中类定义和属性声明相关的代码,具体如下:

import UIKit

import CoreLocation

import MapKit

class ViewController: UIViewController,MKMapViewDelegate {

@IBOutlet weak var txtQueryKey: UITextField!

@IBOutlet weak var mapView: MKMapView!

......

}

//ViewController.h文件

#import "MyAnnotation.h"

#import

#import

#import

@interface ViewController ()

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

@property (weak, nonatomic) IBOutlet UITextView *txtView;

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

- (IBAction)geocodeQuery:(id)sender;

@end

由于使用Map Kit API,需要引入MapKit模块。在定义ViewController类时,还需要声明MKMapViewDelegate 协议。 下面网络再带大家认识一下 ViewController中viewDidLoad方法的代码:

override func viewDidLoad() {

super.viewDidLoad()

self.mapView.mapType = MKMapType.Standard

self.mapView.delegate = self ①

}

- (void)viewDidLoad {

[super viewDidLoad];

self.mapView.mapType = MKMapTypeStandard;

//self.mapView.mapType = MKMapTypeSatellite;

self.mapView.delegate = self; ①

}

在viewDidLoad方法中,我们设置了地图的类型,其中共有3种类型,它们是在枚举类型MKMapType中定义的, 具体如下所示。

1、Standard:标注地图类型,如图4所示。Objective-C版本为MKMapTypeStandard。

2、Satellite:卫星地图类型,如图5所示,在卫星地图中没有街道名称等信息。Objective-C版本为 MKMapTypeSatellite。

3、Hybrid:混合地图类型,如图6所示,混合地图是在卫星地图上标注出街道等信息。Objective-C版本为MKMapTypeHybrid。

标注地图、卫星地图、混合地图

在viewDidLoad方法中,第①行代码用于将当前视图控制器赋值给地图视图的delegate属性,这样地图视图在需要的时候就会回调ViewController,如果失败,就会回调下面的失败方法:

func mapViewDidFailLoadingMap(mapView: MKMapView!, withError error: NSError!)

{

NSLog("error : %@", error.description)

}

- (void)mapViewDidFailLoadingMap:(MKMapView *)theMapView withError:(NSError

*)error {

NSLog(@"error : %@",[error description]);

}

以上就是网络为大家介绍的在南昌APP开发中显示iOS苹果地图的方法,做法其实很简单,如果大家还有哪些不明白的地方,可随时来电和我们联系,我们专业为您解答。此外,如有需要网站建设、微信开发、APP开发等服务的朋友,欢迎大家来电和我们联系,网络随时为您效劳!

PS:所有作品版权归原创作者所有,与本站立场无关,如不慎侵犯了你的权益,请联系我们告知,我们将做删除处理!


网站首页 | app开发| 小程序开发| SEM竞价托管| 行业资讯

扫码关注我们