我正在尝试在mapbox中自定义注释图层的外观。 我想旋转每个注释层。
- (RMMapLayer *)mapView:(RMMapView *)mapView layerForAnnotation:(RMAnnotation *)annotation
{
if (annotation.isUserLocationAnnotation)
return nil;
RMMarker *marker;
CGPoint xy = CGPointFromString(annotation.userInfo);
marker = [[RMMarker alloc] initWithUIImage:[UIImage imageNamed:@"arrow.png"]];
marker.transform = CATransform3DMakeRotation(atan2f(xy.x, xy.y) * 180 / M_PI,0,0,1);
marker.canShowCallout = YES;
return marker;
}
它们第一次加载到地图上时会起作用。但是当我移动或缩放地图时,它们会重置回初始变换单位矩阵。
我有什么想法可以解决这个问题?或者它是mapbox的错误?
答案 0 :(得分:2)
在RMMapView.m
处查看annotationTransform
。这在罗盘跟踪模式之类的移动过程中会得到纠正,因此您需要使用自己的自定义变换修改内容,因为这不是此SDK的公共API部分。