使用SVGKIT的地理地图

时间:2012-12-18 08:12:13

标签: ios4 svg calayer cashapelayer

我正在尝试使用SVGKit(https://github.com/SVGKit/SVGKit)来处理处理地理地图的iOS项目。

此时,我可以使用CALayer对象访问地图上的特定区域。这让我可以访问该区域周围的矩形。

以下是我用于此的代码:

CALayer *layer=[svgView.document layerWithIdentifier:@"myLayerID"];
[layer setBackgroundColor:[UIColor orangeColor].CGColor];

if( [layer isKindOfClass:[CAShapeLayer class]] )
{
    CAShapeLayer* shapeLayer = (CAShapeLayer*) layer;
    NSLog(@"That is good so far!");
    layer.mask=shapeLayer;
}

但我需要访问地图的精确区域;不仅是周围的矩形,为了突出它。 我有点读过我应该使用CGPathRef和一个掩码。

我怎么能这样做?

感谢任何提示。

1 个答案:

答案 0 :(得分:0)

当您找到CALayer时,将其投射到CAShapeLayer(如果可以;如果您有正确的图层,这应该可以正常工作)。

if( [layer isKindOfClass:[CAShapeLayer class]] )
{
   CAShapeLayer* shapeLayer = (CAShapeLayer*) layer;

   // Now you have access to lots more Apple methods
}

然后你可以选择线宽,填充颜色等 - 各种时髦的东西。

另请参阅CALayer.shadow * - Apple的各种功能,它们会自动将图层的可见部分变暗。