【Swift】GoogleMapでマーカーがチカチカ点滅・明滅する原因と対処法【Xcode/iOS】

GoogleMapにマーカー(GMSMarker)を複数表示すると、まれに以下のようにチカチカ明滅・点滅する事象に遭遇しました。

今回はその原因と対処法についてまとめています。

チカチカする原因

結論から言うと、同じ緯度・経度上に色または画像の違うマーカーを複数置くと、チカチカしてるように見えてしまいます。

チカチカするサンプルコード

addMarkerOnMapメソッドで、同じ地点に色の違うマーカーを表示しています。

この結果、上で示したようにチカチカしてしまいました。

対処方法

GMSMapMarkarクラスの zIndex プロパティ を指定して、マーカーの重なり順を指定します。

zIndex に大きい値を指定したマーカーが、他のマーカーよりも前に表示されるようになります。

改良後のコード

上のコードでは、marker1(グレーのマーカー)のzIndexを0に、marker2のzIndexを1にすることで、グレーのマーカーが一番後ろに表示されるようにしています。

この結果、チカチカするような動作は解消することができました。

スポンサードリンク