微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用swift在IOS地图上叠加图像

我试图找出如何使用SWIFT在 IOS地图上叠加图像.我创建了以下代码,使用地图工具包覆盖地图上的绿色圆圈.我想用矩形图像替换绿色圆圈tOver.png 500,500我是iOS开发新手并且很快.到目前为止,我找不到一个快速的例子或好的资源.
//
//  ViewController.swift
//  mapoverlaytest
//

import UIKit
import MapKit


class ViewController: UIViewController,MKMapViewDelegate {
    @IBOutlet weak var mapView: MKMapView!

    override func viewDidLoad() {
        super.viewDidLoad()
        self.mapView.delegate = self;
        let location = CLLocationCoordinate2D(
            latitude: 51.50007773,longitude: -0.1246402
        )

        let span = MKCoordinateSpanMake(0.05,0.05)
        let region = MKCoordinateRegion(center: location,span: span)

        mapView.setRegion(region,animated: true)

        let annotation = MKPointAnnotation()
        annotation.setCoordinate(location)
        annotation.title = "Big Ben"
        annotation.subtitle = "London"



        var overlay = MKCircle (centerCoordinate: location,radius: 500)

        mapView.addOverlay(overlay)

        mapView.addAnnotation(annotation)

    }

    func mapView(
        mapView: MKMapView!,rendererForOverlay
        overlay: MKOverlay!) -> MKOverlayRenderer! {
            if (overlay.isKindOfClass(MKCircle))
            {
                var circleRenderer = MKCircleRenderer(overlay: overlay)
                circleRenderer.strokeColor = UIColor.greenColor()
                circleRenderer.fillColor = UIColor(
                    red: 0,green: 1.0,blue: 0,alpha: 0.5)

                return circleRenderer
            }
            return nil
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // dispose of any resources that can be recreated.
    }

}
正如Totem解释的那样,如果符合您的目的,使用图像注释而不是叠加会更简单.但是,根据您要使用此图像的内容,它可能无法正常工作.地图叠加和地图注释之间的主要区别在于,当您缩放地图(如图钉)时,注释会保持相同的大小,并且叠加会随着地图的大小而变化(如标记建筑物).如果您希望图像使用地图进行缩放,则会变得更复杂一些.

您将需要创建一个新的MKOverlayRenderer子类来绘制图像.您必须通过继承drawMapRect(mapRect,zoomScale,inContext)函数将图像自己绘制到图像上下文中.在创建这个子类之后,你可以在自定义子类中替换MKCircleRenderer,你应该好好去.

Raywenderlich.com上有一个很好的写作,你一定要看看.它应该引导您完成您需要知道的一切.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐