13

マーカーを配置しようとしていますが、これを行うと、このマーカーは以前に設定されたいくつかのマーカーの後ろに配置されます (他のマーカーの上にも配置されます)。すべてのマーカーに設定したいのですが、これを実現するためのプロパティ (z-index など) が見つかりませんでした。

これは、他のマーカーの後ろに留まるマーカーを設定するコードの一部です。

GMSMarker *marker = [[GMSMarker alloc] init];
marker.animated=YES;
marker.position = CLLocationCoordinate2DMake(lat, lon);
marker.map = mapView_;

これが結果です。

緑のマーカーは、いくつかの青のマーカーの後ろに配置され、他の青のマーカーの上に配置されます

緑のマーカーをすべての青のマーカーの上に配置するプロパティまたは方法はありますか? Google Maps SDK バージョン 1.3.0 を使用しています。

4

1 に答える 1

51

これは、バージョン 1.4.0 でクラスにzIndex追加されたプロパティを介してサポートされるようになりました。リリースノートGMSOverlayから:

zIndexすべてのオーバーレイにプロパティを追加しました。GMSMarkerZ インデックスは、 と他のすべてのオーバーレイの2 つのグループで計算されます。

マーカーを高く設定するだけzIndexで、マーカーが他のすべての上に描画されます。ここのプロパティドキュメントで述べられているように:

値の高いオーバーレイは、値の低いタイル レイヤーとオーバーレイzIndexの上に描画されます。zIndex

マーカーのデフォルトzIndex0(少なくとも現在の SDK バージョンでは - 文書化されているのを見たことがありませんが、テストして確認するのは簡単です) ですzIndex。他のすべての上に配置したい場合は、次のことを行う必要があります。

yourGmsMarker.zIndex = 1;
于 2013-09-28T12:21:29.273 に答える