2015-10-20 20 views

答えて

4

アノテーションレイヤーのzOrderプロパティを調べると便利な場合があります。スーパービューの階層でアノテーションを後方に送信すると、必要な効果を得るのに役立ちます。注釈のz軸の位置を変更するには、おそらくmapView:didAddAnnotationViews:デリゲートメソッド内で行う必要があります。

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views { 
    annotationView.layer.zPosition = x; 
} 

は、私がMKPolylineに対処してきたので、しばらくしている、と私は物事がiOSの8で多くのことを変更知っているが、あなたはそれを描いている間に直接ポリラインのz位置を操作することができるかもしれません。


あなたはiOSの7.0以降に開始する、マップにあなたのMKOverlayを追加UPDATE
addOverlay:level:メソッドを使用します。これにより、オーバーレイのz位置を指定することができます。 MKOverlayLevelsによって定義されるオーバーレイの最高z位置の一つはMKOverlayLevelAboveLabelsある:

プレースマップラベル、シールド、または関心点アイコン上しかし注釈や建物の3D投影下オーバーレイ。

残念ながら、上のドキュメントで説明したように、地図では注釈の上にオーバーレイを配置することはできません。考えられる解決策は、別のMKOverlayオブジェクトに注釈を追加し、insertOverlay:aboveOverlay:を使用して(パスを使用して)もう一方のオーバーレイをマップに追加することです。

+0

zPositionはお互いに関係する注釈にしか影響しないようです - オーバーレイは常に注釈の後ろにあるようです。 – bplattenburg

+0

残念ながら、ドキュメントをさらに詳しく調べると、注釈をオーバーレイに作成しないとわかりません)。注釈とオーバーレイに別々の領域が必要だとAppleは考えていたようだ。注釈の上にパスが必要な理由を尋ねることはできますか? –

+0

Hm、それはうまくいくかもしれません。ありがとう。しかし、この時点で努力する価値はないでしょう。 私がしようとしているのは、ルートと無関係のピンを同時に表示することですが、ルートはより重要であり、ピンの上に表示する必要があります。 – bplattenburg

関連する問題