You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift4中如何添加虚线折线?已有折线如何设置为虚线样式?

在Swift4中给Google Maps折线设置虚线/点状线样式

嘿,你的两个问题其实可以用同一个方案解决——Google Maps SDK的GMSPolyline类提供了strokePattern属性,专门用来设置折线的虚线、点状线这类自定义样式。我直接给你修改好代码,再详细说说怎么调整样式:

修改后的完整代码

let path = GMSMutablePath(path: GMSPath())
for marker in markerList {
    bounds = bounds.includingCoordinate(marker.position)
    path.add(marker.position)
}
let polyline = GMSPolyline(path: path)
polyline.strokeColor = UIColor(named: "Primary")!
polyline.strokeWidth = 3.0
polyline.geodesic = true

// 核心:设置虚线/点状线样式
// 数组元素交替代表「绘制长度」和「空白长度」,单位是point
polyline.strokePattern = [NSNumber(value: 4), NSNumber(value: 2)]

polyline.map = mapView

样式调整说明

  • strokePattern是一个[NSNumber]数组,数组里的数值是交替的实线段长度和空白段长度,单位是屏幕点(point):
    • 比如[4,2]:先画4pt的实线,再留2pt的空白,循环这个模式就是标准的虚线。
    • 想要点状线?把实线长度改小就行,比如[1,3]:画1pt的小点,留3pt空白,重复后就是清晰的点状线。
    • 更复杂的样式也能实现,比如长短线交替:[8,2,2,2],对应“长8pt实线→空2pt→短2pt实线→空2pt”的循环。
  • 注意:strokeWidth会影响虚线的粗细,宽度越大,虚线的线段也会越粗,记得根据需求搭配调整。

内容的提问来源于stack exchange,提问作者mohamed ibrahem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:32:32