3

Google iOS SDK GMSMapView の上に表示されるカスタム オーバーレイ ビューを使用するセットアップがあります。マップの上にリッチ コンテンツとインターフェイスを提供し、その下にある GMSMapView の現在のカメラとズーム レベルも駆動します。GMSMapView はコンテンツの背景を提供すると言えます。

GMSMapView -setCamera: を使用して現在のカメラを設定します。

問題は、GMSMapView がシステムの負荷を最適化しようとしているように見えることです。私のオーバーレイは、マップのカメラが変更されたときに更新する必要がある、潜在的に多くのコア アニメーション レイヤーを使用しています。

オーバーレイが「空」であるため、場所の変更に基づいてその状態を更新および再描画するのが迅速な場合、GMSMapView の更新はほぼ瞬時に行われます (わずかではありますが許容できる遅延があります)。

オーバーレイ コンテンツの更新に時間がかかるほど、-setCamera を呼び出した後、GMSMapView が新しいカメラへの更新を待機する時間が長くなります。

CPUがアイドル状態になるまで待ってから更新を行うようです。これにより、オーバーレイの更新とマップの更新の間の遅延が大きくなります。

-setCamera: の呼び出しと同期して、カメラを即座に更新する方法はありますか?

ありがとうマーカス

4

0 に答える 0