我试图在GMSMapView上绘制虚线折线。到目前为止,我已经实现了在地图上添加虚线折线的功能。为此,我编写了以下代码:
polyLine.strokeWidth = 10
polyLine.strokeColor = UIColor(red: 95/255, green: 89/255, blue: 89/255, alpha: 1.0)
let styles: [GMSStrokeStyle] = [GMSStrokeStyle.solidColor(UIColor.clear), GMSStrokeStyle.solidColor(UIColor.red)]
let scale = 1.0 / testMap.projection.points(forMeters: 1, at: testMap.camera.target)
let solidLine = NSNumber(value: 10.0 * Float(scale))
let gap = NSNumber(value: 10.0 * Float(scale))
let span = GMSStyleSpans(polyLine.path!, styles, [solidLine, gap], GMSLengthKind.rhumb)
polyLine.spans = span
使用此代码,我得到一条折线为10x10的虚线。
对于虚线折线,我尝试将点图像设置为GMSStrokeStyle中的纯色之一,如下所示:
let styles: [GMSStrokeStyle] = [GMSStrokeStyle.solidColor(UIColor(patternImage: UIImage(named: "dot1.jpg")!)), GMSStrokeStyle.solidColor(UIColor.red)]
我尝试过的另一种解决方案是here
使用此解决方案,地图需要花费大量时间来加载和刷新。因此,应用程序会在加载地图时挂起。
在ios中在Google地图上绘制点线的其他方法有哪些?