2

地理マップを扱う iOS プロジェクトに SVGKit (https://github.com/SVGKit/SVGKit) を使用する方法を見つけようとしています。

この時点で、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 とマスクを使用する必要があります。

どうすれば正確にこれを行うことができますか?

ヒントをありがとう。

4

1 に答える 1

0

CALayer が見つかったら、それを CAShapeLayer にキャストします (可能であれば、適切なレイヤーがあれば、これで問題なく動作するはずです)。

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

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

次に、線の幅、塗りつぶしの色などを変更できます-あらゆる種類のファンキーなもの.

CALayer.shadow* も調べてください。これは、レイヤーの可視部分を自動的にハイライトする Apple のさまざまな機能です。

于 2012-12-26T18:12:48.903 に答える