GMSMapView 在 Swift 中绘制自定义折线

GMSMapView Draw Custom Polyline in Swift

我用GMSMapView做了一个地图视图,想根据手指的触摸画一条折线。但是这个功能让我卡住了,因为我一直没能找到合适的参考资料。

在我的案例中,例如我想要的结果域应用程序。

感谢您的帮助。

您应该使用 Quartz2D 绘制线条 由于这个问题有点大,我只是给你一个很好的参考。

https://www.raywenderlich.com/87899/make-simple-drawing-app-uikit-swift

到这里你应该能弄清楚如何绘制到屏幕上了。

这是一个相当大且复杂的问题,因此我将为您概述实施此问题的步骤。如果您需要特定步骤的帮助,我建议您 post 提出一个单独的具体问题。

开始吧:

  1. 点击 "draw mode" 按钮时,在地图上方添加视图

    • 确保此视图接受所有触摸事件,以便用户绘制时地图不会滚动
    • 子类化此视图并覆盖 touchesBegantouchesMoved 以实际进行绘图。您可以按照教程 here 进行操作。

    • 在视图坐标系中保留多边形所有顶点的数组。

  2. touchesEnded(当用户停止绘图时),将上面的点转换为地图坐标。
    • This 可能会有帮助。
  3. 根据位置坐标绘制多边形。
    • This 会有帮助
  4. 删除您在第 1 步中添加的视图并关闭绘图模式。

如果您需要有关此过程的说明,请随时询问。