close

不少APP裡都會加入地圖

看上去高級感滿滿

其實iOS APP要加地圖非常方便

跟加Label是一樣的方法

Object名叫Map Kit View

image

image

image

這樣就可以成功顯示啦~

 

好啦,這只是個徒有其表的地圖啦。

單純顯示默認位置,

是無法顯示你想要表達的信息的。

 

一、靜態地點顯示

如果只是展示地點,例如商家地址之類,

其實還是很簡單的,

只是需要輸入經緯度就可以了。

 

首先需要導入MapKit地圖包

image

之後就可以運用地圖的功能啦

設定位置坐標:CLLocationCoordinate2D(經度, 緯度)

//MARK: SetCenterofMap

let initLocaiton=CLLocationCoordinate2D(latitude: -8.3630729, longitude: 114.7974304

//用initLocation儲存峇里的經緯度

Map.setCenter(initLocaiton, animated: true)                                                               

//並將其設為地圖的中心

image

至於數據的獲取

可以借助Google Map啦

直接在網址上就可以找到搜尋地點的經緯度了

image

設定比例尺:MKCoordinateRegion(center: 中心點, latitudinalMeters: 經度顯示區域為多少米, longitudinalMeters: 緯度顯示區域為多少米) 

//MARK: SetRegion

let region=MKCoordinateRegion(center: initLocaiton, latitudinalMeters: 300, longitudinalMeters: 300)     

//將顯示區域設定為300米 (如果要清楚讓顧客看清店鋪所在的位置的話,比例尺一定不能設太小哦)

Map.setRegion(region, animated: true

image

可即使比例尺調到最適合都好

不熟悉的客人還是很難找到店在哪裡啊

此時就要加上圖標讓人更一目了然

設定圖標:MKPointAnnotation() 

//MARK: SetAnnotation

let annotation=MKPointAnnotation()                                                          //設定圖標的外觀為默認

annotation.title="Nude"                                                                           //設定圖標的標題為店名

annotation.coordinate=initCenter                                                             //設定圖標的坐標為中心坐標(這裡有點偏移,不知是Google Map的數據有問題還是Apple Map有偏差啦)

Map.addAnnotation(annotation)                                                              //在Map中加入圖標

image

 

如此,一個靜態的地圖就完成啦

說是靜態,其實它還是可以做到基本縮放的

但就無法根據用戶的位置變動

其實某君以為這已經很够用了

只要不是以MAP類為APP的主要方向的話(e.g. 地圖、Pokemon Go、共享單車、Uber等)

其實很多APP都只會顯示基本位置

如果用戶有需要的話就直接跳轉到其他專門的地圖MAP中

 

如果真的有需要的話,也可以看一下某君將會寫的另一篇MAP教學

 

地圖三步曲

地圖初級應用

[iOS][Xcode][Swift]iPhone手機編程--在APP中加入地圖Map(MapKit)初級應用--靜態地點顯示

地圖升級應用

[iOS][Xcode][Swift]iPhone手機編程--在APP中加入地圖Map(MapKit)升級應用--動態追蹤用戶實時位置[含獲取用戶位置權限教程][CLLocationManager()]

地圖升升級應用 (中高級應用某君可不懂,只能一路升級下去好了

[iOS][Xcode][Swift]iPhone手機編程--在APP中加入地圖Map(MapKit)升級應用--動態追蹤用戶實時位置[含獲取用戶位置權限教程][CLLocationManager()]

arrow
arrow

    4ngus 發表在 痞客邦 留言(0) 人氣()