ios - 如何在 MapKit 中绘制带有外边框的叠加层?

标签 ios swift mapkit

是否可以在 Swift 中使用 MapKit 绘制这样的叠加层?

enter image description here

我在网上搜索,没有找到任何有用的建议。

最佳答案

我发现的最简单的方法是在主折线下方画一条较粗的线,从而在主折线的两侧添加笔划。

定义主多段线时,添加一个 zIndex:

mainPolyline.strokeColor = UIColor.white
mainPolyline.strokeWidth = 2
mainPolyline.zIndex = 10
mainPolyline.map = mapView

然后添加另一条具有相同路径的折线,修改原始的 strokeWidth 和 zIndex:

let lowerPolyLine = GMSPolyline(path: samePathAsYourMainPolyline)
lowerPolyLine.strokeWidth = mainPolyline.strokeWidth + 1
lowerPolyLine.strokeColor = UIColor.black
lowerPolyLine.zIndex = mainPolyline.zIndex - 1
lowerPolyLine.map = mapView;

如果您使用的是 map 工具包,那么 here是您可以使用的完全可定制的库。

希望这对您有所帮助。

关于ios - 如何在 MapKit 中绘制带有外边框的叠加层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56425893/

相关文章:

objective-c - NSSet - 检查 NSValue 是否相等的成员

ios - 安排 iOS 应用程序任务在后台运行

ios - 使用 Twitter/FB 共享表时是否需要包含可达性?

ios - 应用程序 :openURL:options: look like? 的 Swift 2 方法签名是什么

IOS:放大两个标注点的mapkit

ios - 使用 MKPolyline 在 MKMapView 中绘制多组线

iphone - NSURLConnection 在我得到 Error Domain=NSPOSIXErrorDomain Code=57 后不会响应

ios - TableView Cell 中的 PFImageView 加载了错误的图像

swift - 将 CoreData 存储在 iCloud 中

ios - 尝试选择尚未添加的注释