iOS开发 - MapKit框架之大头针及当前位置

作者: 小黑Swift | 来源:发表于2016-07-20 18:13 被阅读667次

创建大头针、增加标记及覆盖物

步骤-SB拖入地图视图-然后如下

1.png
import MapKit

class MapViewController: UIViewController,MKMapViewDelegate {
    
    @IBOutlet weak var mapView: MKMapView!
    
    override func viewDidLoad() {
        super.viewDidLoad()

        self.mapView.delegate = self

        //创建大头针
        let center =  CLLocationCoordinate2DMake(23.114155, 113.318977)
        let span = MKCoordinateSpanMake(0.2, 0.2)
        self.mapView.region = MKCoordinateRegionMake(center, span)
        //向地址增加标记
        let annotation = MKPointAnnotation()
        annotation.coordinate = center
        annotation.title = "当前大约位置"
        annotation.subtitle = ""
        self.mapView.addAnnotation(annotation)
        //创建一个新的圆形覆盖物
        let overlay = MKCircle(centerCoordinate: center, radius: 5000)
        self.mapView.addOverlay(overlay)
    }

    //自定义大头针样式,默认是红色
    //func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? 
    //覆盖物的委托方法
    func mapView(mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer {
        
        let circleRenderer = MKCircleRenderer(overlay: overlay)
        circleRenderer.strokeColor = UIColor(red: 74/255, green: 144/255, blue: 226/255, alpha: 0.5)
        circleRenderer.fillColor = UIColor(red: 74/255, green: 144/255, blue: 226/255, alpha: 0.5)
        return circleRenderer
    }
}

当前位置实时显示

2.png
import MapKit

class MapViewController: UIViewController,MKMapViewDelegate {
    
    @IBOutlet weak var mapView: MKMapView!
    
    var spanState = true 

    override func viewDidLoad() {
        super.viewDidLoad()

        self.mapView.delegate = self
        self.mapView.showsUserLocation = true
    }
    
    func mapView(mapView: MKMapView, didUpdateUserLocation userLocation: MKUserLocation) {
        let coord = userLocation.coordinate
        let center = CLLocationCoordinate2DMake(coord.latitude, coord.longitude)
        print(center)
        
        if spanState == true { //首次时候的缩放范围
            let span = MKCoordinateSpanMake(0.01, 0.01)
            self.mapView.region = MKCoordinateRegionMake(center, span)
            spanState = !spanState
        }
    }
}

相关文章

  • iOS开发 - MapKit框架之大头针及当前位置

    创建大头针、增加标记及覆盖物 步骤-SB拖入地图视图-然后如下 当前位置实时显示

  • iOS Mapkit的使用

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

  • iOS mapkit 框架定位 获取地理位置时为英文

    iOS系统地图mapkit 框架定位系统语言在中英文切换时,强制全部返回中文位置信息的设置 在iOS开发中,用到定...

  • MapKit和CoreLocation框架的基本知识

    MapKit和CoreLocation框架作为地图开发必不可少的两个框架,作为iOS开发者是要必须了解并熟悉的, ...

  • CoreLocation定位

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

  • MKAnnotationView

    大头针(相当于TableView的model)(MKAnnotation) 在iOS开发中经常会标记某个位置,需要...

  • MapKit

    MapKit框架的基本使用 用于地图展示,例如大头针,路线、覆盖层展示等(着重界面展示)导入主头文件 #impo...

  • 地图(二)之MapKit

    MapKit 用于地图展示,例如大头针,路线,覆盖层展示等(着重界面展示) 一、MKMapView MapKit通...

  • iOS-MapKit文集目录

    前言 MapKit框架的导入 地图展示地图的基本使用-地图显示地图的中级使用-用户追踪地图高级-大头针基本使用地图...

  • 高德定位和大头针的添加

    自动定位当前城市的经纬度 长按地图获取当前位置的经纬度并且逆地址编码出城市及具体位置 在指定的经纬度添加大头针

网友评论

    本文标题:iOS开发 - MapKit框架之大头针及当前位置

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