如何在iOS SDK的MapView中调整指南针的大小

问题描述 投票:0回答:1

IOS SDK如何调整地图视图中指南针的大小

使用MapboxNavigation 2.5.0,我可以改变位置,但我不知道如何改变大小

mapbox compass mapbox-ios
1个回答
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) } } }
    
© www.soinside.com 2019 - 2024. All rights reserved.