在MKMapSnapshotter中显示用户位置

问题描述

我正在尝试在由MKMapSnapshotter渲染的图像上显示蓝点,以反映用户的位置。

这是我到目前为止所取得的成就:

        let coordinateRegion = MKCoordinateRegion(center: CLLocationCoordinate2D(latitude: 53.551086,longitude: 9.993682),span: MKCoordinateSpan(latitudeDelta: 0.5,longitudeDelta: 0.5))

        let options = MKMapSnapshotter.Options()
        options.region = coordinateRegion

        let snapshot = MKMapSnapshotter(options: options)
        snapshot.start { snapshot,_ in
            guard let snapshot = snapshot else {
                completionHandler(nil)
                return
            }

            let image = UIGraphicsImageRenderer(size: options.size).image { _ in
                snapshot.image.draw(at: .zero)

                let userLocation = MKUserLocation()
                let userLocationAnnotationView = MKUserLocationView(annotation: userLocation,reuseIdentifier: nil)

                let dotimage = userLocationAnnotationView.image

                let point = snapshot.point(for: coordinateRegion.center)
                dotimage?.draw(at: point)
            }

            completionHandler(image)
        }

不幸的是,这显示了地图,但没有显示带有蓝点的用户位置。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)