我正在使用最新的Google Maps API for iOS绘制折线.我正在逐点构造折线,但是当我缩小折线从地图中消失(不是字面上的术语)时,它不能正常渲染,当我放大时,它只会显示线条.
这是放大时折线的显示方式
这是缩小时的显示方式
这里是我绘制折线的功能
RCPolyline *polyline = [[RCPolyline alloc] init]; [polyline drawPolylineFromPoint:self.selectedEmployee.location toPoint:location];
我有覆盖init:为RCPolyline是这样的东西
- (instancetype)init { self = [super init]; if (self) { self.strokeWidth = 5.0f; self.strokeColor = UIColor.redColor; self.geodesic = YES; self.map = [RCMapView sharedMapView]; } return self;}
和drawPolylineFromPoint:toPoint:这样做
- (void)drawPolylineFromPoint:(CLLocation *)pointX toPoint:(CLLocation *)pointY { GMSMutablePath *path = [GMSMutablePath path]; [path addCoordinate:pointX.coordinate]; [path addCoordinate:pointY.coordinate]; self.path = path;}
解决方法
我发现这个故障,我正在制作RCPolyline类的本地实例,并且正在调用构建折线的方法,我想要的是为RCPolyline实例提供一个全局对象,并为RCPolyline类实例更新GMSPath
这样的:
- (instancetype)initWithMap:(GMSMapView *)mapView { self = [super init]; if (self) { self.strokeWidth = 4.0f; self.strokeColor = [UIColor redColor]; self.geodesic = YES; self.map = mapView; self.mutablePath = [GMSMutablePath path]; } return self;}
- (void)appendPolylineWithCoordinate:(CLLocation *)location { [self.mutablePath addCoordinate:location.coordinate]; self.path = self.mutablePath;}
PS:RCPolyline是GMSPolyline的子类