先在storyboard中加入mapKit元件
在controller.swift中加入以下程式碼
在controller.swift中加入以下程式碼
func configure(location: String){
let geoCoder = CLGeocoder()
print(location)
geoCoder.geocodeAddressString(location, completionHandler:{ placemarks, error in if let error = error{
print(error.localizedDescription)
return
}
if let placemarks = placemarks{
//取得第一個地點標記
let placemark = placemarks[0]
//加上標記
let annotation = MKPointAnnotation()
if let location = placemark.location{
//顯示標記
annotation.coordinate = location.coordinate
self.mapView.addAnnotation(annotation)
//設定縮放程度
let region = MKCoordinateRegion(center: annotation.coordinate,latitudinalMeters: 250,longitudinalMeters: 250)
self.mapView.setRegion(region, animated: false)
}
}
})
}
記得對應到的mapKit要按ctrl拉進來新增@IBOutlet,mapView及為對應mapKit在@IBOutlet設定的名稱( @IBOutlet var mapView: MKMapView!)
---------------------------------------------
修改地圖上大頭釘圖示及顯示文字方法
---------------------------------------------
修改地圖上大頭釘圖示及顯示文字方法
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation)->MKAnnotationView?{
let identifier = "MyMarker"
if annotation.isKind(of: MKUserLocation.self){
return nil
}
var annotationView: MKMarkerAnnotationView? = mapView.dequeueReusableAnnotationView(withIdentifier: identifier) as? MKMarkerAnnotationView
if annotationView == nil {
annotationView = MKMarkerAnnotationView(annotation: annotation, reuseIdentifier: identifier)
}
//annotationView?.glyphtext = "123" //顯示在氣球標記的文字
annotationView?.glyphImage = UIImage(named: "6")//顯示在氣球標記的圖片
annotationView?.markerTintColor = UIColor.orange//氣球標記的背景顏色
return annotationView
}
-------------------------------------------
在viewDidLoad中加入以下可獲得不同地圖資訊
mapView.showsCompass = true //顯示交通流量大的點
mapView.showsScale = true //左上角顯示比例尺
mapView.showsTraffic = true //右上角顯示一個指南針控制
-------------------------------------------
在viewDidLoad中加入以下可獲得不同地圖資訊
mapView.showsCompass = true //顯示交通流量大的點
mapView.showsScale = true //左上角顯示比例尺
mapView.showsTraffic = true //右上角顯示一個指南針控制
留言
張貼留言