干熟妇在线视频午夜剧场一级A级|99成人香视频日本两性激情视频|久久 午夜福利无码精品人妻一区|热久久超碰精品精品少妇一区二区|五月天综合在线国产一区免费视频|亚洲成人中心热re久久99|亚洲国产怡红院丁香五月综合h|玖玖九久久久午夜射精视频

十二年專注于品牌網(wǎng)站建設(shè) 十余年專注于網(wǎng)站建設(shè)_小程序開發(fā)_APP開發(fā),低調(diào)、敢創(chuàng)新、有情懷!
南昌百恒網(wǎng)絡(luò)微信公眾號 掃一掃關(guān)注
小程序
tel-icon全國服務(wù)熱線:400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號
掃一掃打開百恒網(wǎng)絡(luò)微信小程序

百恒網(wǎng)絡(luò)

南昌百恒網(wǎng)絡(luò)

IOS軟件開發(fā)中如何顯示地圖

百恒網(wǎng)絡(luò) 2017-08-29 5453

在iOS 6之后,蘋果自己的地圖代替了谷歌地圖,但是API編程接口沒有太大的變化,所以APP開發(fā)人員不需要再學(xué)習(xí)很多新東西就能開發(fā)地圖應(yīng)用。在iOS應(yīng)用程序中,我們使用Map Kit API開發(fā)地圖應(yīng)用,其核心是MKMapView類。那么今天南昌APP制作開發(fā)公司-百恒網(wǎng)絡(luò)就來為大家簡單介紹一下如何顯示iOS蘋果地圖。

在Map Kit API中,顯示地圖的視圖是MKMapView,它的委托協(xié)議是MKMapViewDelegate。使用Map Kit API時, 需要導(dǎo)入MapKit框架。下面我們通過如圖1所示的案例介紹一下Map Kit API的用法,在“輸入查詢地點關(guān)鍵字”文本框中輸入 關(guān)鍵字,點擊“查詢”按鈕,先進行地理信息編碼查詢,獲得地標信息后,會在地圖上標注出來。

iOS地圖應(yīng)用案例

圖1 iOS地圖應(yīng)用案例

首先,請參考圖2的操作添加框架MapKit.framework,然后在工程中打開MainStoryboard.storyboard的 Interface Builder設(shè)計界面,從對象庫中拖曳MapKit View到設(shè)計界面中,如圖3所示。

模擬器位置菜單

圖2 模擬器位置菜單

在Interface Builder中設(shè)計MapKit View

圖3 在Interface Builder中設(shè)計MapKit View

調(diào)整MapKit View的位置和大小,使其盡可能充滿界面下面的空白部分,然后為MapKit View定義輸出口。下面我們看看視圖控制器ViewController中類定義和屬性聲明相關(guān)的代碼,具體如下:

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 協(xié)議。 下面百恒網(wǎng)絡(luò)再帶大家認識一下 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方法中,我們設(shè)置了地圖的類型,其中共有3種類型,它們是在枚舉類型MKMapType中定義的, 具體如下所示。

1、Standard:標注地圖類型,如圖4所示。Objective-C版本為MKMapTypeStandard。

2、Satellite:衛(wèi)星地圖類型,如圖5所示,在衛(wèi)星地圖中沒有街道名稱等信息。Objective-C版本為 MKMapTypeSatellite。

3、Hybrid:混合地圖類型,如圖6所示,混合地圖是在衛(wèi)星地圖上標注出街道等信息。Objective-C版本為MKMapTypeHybrid。

標注地圖、衛(wèi)星地圖、混合地圖

在viewDidLoad方法中,第①行代碼用于將當(dāng)前視圖控制器賦值給地圖視圖的delegate屬性,這樣地圖視圖在需要的時候就會回調(diào)ViewController,如果失敗,就會回調(diào)下面的失敗方法:

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

{

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

}

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

*)error {

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

}

以上就是百恒網(wǎng)絡(luò)為大家介紹的在南昌APP開發(fā)中顯示iOS蘋果地圖的方法,做法其實很簡單,如果大家還有哪些不明白的地方,可隨時來電和我們聯(lián)系,我們專業(yè)為您解答。此外,如有需要網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)等服務(wù)的朋友,歡迎大家來電和我們聯(lián)系,百恒網(wǎng)絡(luò)隨時為您效勞!

400-680-9298,0791-88117053
掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號
掃一掃打開百恒網(wǎng)絡(luò)小程序

歡迎您的光顧,我們將竭誠為您服務(wù)×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務(wù) 售后服務(wù)
 
售后服務(wù) 售后服務(wù)
 
備案專線 備案專線
 
×