Mapbox注记图层旋转在地图缩放或移动时重置

时间:2014-02-13 12:32:28

标签: ios annotations transform mapbox

我正在尝试在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的错误?

1 个答案:

答案 0 :(得分:2)

RMMapView.m处查看annotationTransform。这在罗盘跟踪模式之类的移动过程中会得到纠正,因此您需要使用自己的自定义变换修改内容,因为这不是此SDK的公共API部分。