我正在使用最新的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的子类