gpt4 book ai didi

ios - 自定义 MKOverlayView 线宽

转载 作者:可可西里 更新时间:2023-11-01 04:15:05 25 4
gpt4 key购买 nike

我有一个自定义的 MKOverlayView,它绘制了一条简单的线。在 drawMapRect: 中,我正在设置 CGContextSetLineWidth(context, 30); 完全放大时看起来不错,但是当你缩小时,线会变得越来越细。 MKOverlayView 引用资料说它会自动缩放到 map 的缩放级别。无论我的缩放级别如何,如何强制它绘制相同的宽度?我注意到 MKPolylineView(和 MKPolygonView)正确地做到了这一点......每当您缩放以调整以保持相同的宽度时,您都可以看到线条的宽度调整大小。如何在我的 overlayView 中执行此操作?

最佳答案

不清楚您想要哪个结果。无论缩放如何,您都希望线宽保持不变,还是无论缩放级别如何,线都与 map View 绘制的道路宽度相同?

无论如何要使线宽保持恒定,请尝试除以 zoomScale:

CGContextSetLineWidth(context, (30/zoomScale));

要保持线与道路的宽度相同,请使用 MKRoadWidthAtZoomScale:

CGContextSetLineWidth(context, MKRoadWidthAtZoomScale(zoomScale));

如果需要,您还可以对道路宽度应用额外的缩放比例:

CGContextSetLineWidth(context, 1.5*MKRoadWidthAtZoomScale(zoomScale));

关于ios - 自定义 MKOverlayView 线宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5274164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com