作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的代码正确获取图像并提供 map View 的边界。我想将图像放在边界内,但我不知道如何。我可以用颜色填充它,但我需要帮助使其成为图像。
func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
let renderer = MKPolygonRenderer(overlay: overlay)
//renderer.fillColor = UIColor.red -> works
return renderer
}
如何用我下载的图片填充它? https://radar.weather.gov/ridge/Conus/RadarImg/latest_radaronly.gif
最佳答案
使用 MKOverlayRenderer
的子类,您将能够在实际 MKPolygon
上渲染 UIImage
叠加层
class CustomOverlayRenderer: MKOverlayRenderer {
private let overlayImage: UIImage?
init(overlay: MKOverlay, image: UIImage? = nil) {
self.overlayImage = image
super.init(overlay: overlay)
}
override func draw(_ mapRect: MKMapRect, zoomScale: MKZoomScale, in context: CGContext) {
guard let cgImage = self.overlayImage?.cgImage else { return }
let rect = self.rect(for: overlay.boundingMapRect)
context.scaleBy(x: 1.0, y: -1.0)
context.translateBy(x: 0, y: -rect.height)
context.draw(cgImage, in: rect)
}
}
只需将您的委托(delegate)方法更改为使用 CustomOverlayRenderer
,如下所示:
func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
return CustomOverlayRenderer(overlay: overlay, image: UIImage(named: "latest_radaronly.gif")!)
}
关于ios - 如何为 MKPolygonRenderer 提供图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51228704/
我的代码正确获取图像并提供 map View 的边界。我想将图像放在边界内,但我不知道如何。我可以用颜色填充它,但我需要帮助使其成为图像。 func mapView(_ mapView: MKMapV
我正在将几个多边形叠加层绘制到 map View 上。奇怪的是,虽然总是绘制多边形线,但大多数时候多边形并没有被填充。尽管有时他们是,正如我所期望的那样...... 我正在使用 Swift 3,针对
好吧,我已经无计可施了。我是 MapKit 的新手,正在编写一个健康统计应用程序,该应用程序在 MKMapView 上绘制与患者居住地相关的数据。我可以删除注释,并毫无问题地绘制邮政编码区域的多边形。
我是一名优秀的程序员,十分优秀!