GMSMapView在Swift中绘制自定义折线

时间:2018-06-06 06:36:53

标签: objective-c swift google-maps polyline gmsmapview

我使用GMSMapView创建了一个地图视图,我想根据手指的触摸绘制折线。但是这个功能让我卡住了,因为我找不到合适的参考资料。

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

enter image description here

感谢您的帮助。

2 个答案:

答案 0 :(得分:5)

这是一个非常大而复杂的问题,因此我将概述您执行此操作的步骤。如果您需要特定步骤的帮助,我建议您发布一个单独的具体问题。

我们走了:

  1. 点击“绘制模式”按钮后,在地图上方添加一个视图

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

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

  2. touchesEnded上(当用户停止绘图时),将上面的点转换为地图坐标。
    • This可能有帮助。
  3. 从位置坐标绘制多边形。
    • This会有所帮助
  4. 删除您在步骤1中添加的视图,然后关闭绘图模式。
  5. 如果您需要澄清此过程,请不要犹豫。

答案 1 :(得分:2)

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

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

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