IOS SDK如何调整地图视图中指南针的大小
使用MapboxNavigation 2.5.0,我可以改变位置,但我不知道如何改变大小
我不确定 MapboxNavigation,但对于 MapboxMaps 10.0+,我能够在以下答案的启发下实现这一目标
我假设您确实想重复使用同一张图像。要将其大小调整为例如 20x20 pts,您可以使用以下代码:
let image = mapView.ornaments.compassView.subviews
.compactMap { ($0 as? UIImageView)?.image }.first?
.resized(to: CGSize(width: 20.0, height: 20.0))
rawMapView.ornaments.options.compass.image = image
并且,要调整图像大小:
extension UIImage {
func resized(to newSize: CGSize) -> UIImage {
let scale = min(newSize.height / size.height, newSize.width / size.width)
let size = CGSize(width: size.width * scale, height: size.height * scale)
let origin = CGPoint(x: (newSize.width - size.width) / 2.0, y: (newSize.height - size.height) / 2.0)
let imageRect = CGRect(origin: origin, size: size)
return UIGraphicsImageRenderer(size: newSize).image { context in
context.cgContext.interpolationQuality = .high
draw(in: imageRect)
}
}
}