带有GMSPolyline的虚线(符号)谷歌地图iOS目标C.

时间:2016-01-30 05:51:02

标签: ios google-maps

我使用 GMSPolyline 在两个位置之间绘制直线。现在我想将此直线转换为虚线。我已经研究过适用于iOS的谷歌地图SDK,但没有找到任何东西,只是知道它可以用javascript。

如果有人有想法,请分享。感谢。

Screenshot which shows required dashed line

1 个答案:

答案 0 :(得分:0)

您可以使用UIView绘制虚线,您可以使用以下代码:

 @interface UIDashedLine : UIView
 @end

//绘制虚线非常简单:

//只需在故事板中放置一个空的UIView,就行了。

//将UIView的类更改为UIDashedLine。

//在运行时它将绘制一条完美的虚线,

//无论您将视图放在故事板中的哪个位置。

@implementation UIDashedLine

-(void)drawRect:(CGRect)rect
{
CGFloat thickness = 4.0;

CGContextRef cx = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(cx, thickness);
CGContextSetStrokeColorWithColor(cx, [UIColor blackColor].CGColor);

CGFloat ra[] = {4,2};
CGContextSetLineDash(cx, 0.0, ra, 2); // nb "2" == ra count

CGContextMoveToPoint(cx, 0,thickness*0.5));
CGContextAddLineToPoint(cx, self.bounds.size.width, thickness*0.5);
CGContextStrokePath(cx);
}

@end

这是Dashed Line的示例应用:https://gist.github.com/milancermak/e0b959a5195d28133a1f

在这里,我得到了答案: Draw dotted (not dashed!) line, with IBDesignable in 2017