Google Maps SDK for iOS 1.13 の新機能:高度なマーカーアニメーションなど

Updated: 20.04.2016 : 12:00  By: Varanyu

Google Maps SDK for iOS 1.13 の新機能:高度なマーカーアニメーションなど
2016年4月19日火曜日
[この記事は Megan Boundey, Product Manager, Google Maps Mobile APIs による Geo Developer Blog の記事 "Advanced marker animations and more with Google Maps SDK for iOS 1.13" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]
米国時間 3 月 29 日にリリースされた Google Maps SDK for iOS 1.13 では、より高度なマーカーアニメーションの作成や情報ウィンドウの自動更新といった機能が追加され、mapViewSnapshotReady という新しいイベントが実装されました。また、フレームレートを最大で 60fps に設定できるようになったほか、プレイス オートコンプリート ウィジェットのスタイルのカスタマイズ性も向上しています。
高度なマーカーアニメーションの作成機能と情報ウィンドウの自動更新
マーカーを回転させたり、マーカーアニメーションを使ってみたいと思いませんか?
Google Maps SDK for iOS 1.13 では新たに iconView というプロパティが追加されており、これを使って UIView にアニメーション機能を持たせることができます。iconView は UIView に設定されるプロパティであるため、標準の UI コントロールがマーカーを定義し、個々のビューがアニメーション機能を持つという形になります。iconView プロパティのサポート対象は、frame と center を除く、UIView のアニメーション可能なプロパティ全てです。詳しくはドキュメントを参照してください。
また、情報ウィンドウを自動的に更新するオプションも追加されました。情報ウィンドウに Web ページの内容を表示したいけれど、ウィンドウの作成時点ではまだ Web ページのダウンロードが完了していない、といったことはないでしょうか? このような場合は、新しく追加されたマーカープロパティ tracksInfoWindowChanges を利用すれば、Web ページのロード完了後に情報ウィンドウを自動的に更新することができます。
60fps の実現と自動フォールバック機能
Google Maps SDK for iOS 1.13 では、GMSFrameRate という新しい enum が利用可能になりました。これには 3 種類のオプション、kGMSFrameRatePowerSave (15fps)、kGMSFrameRateConservative (30fps)、kGMSFrameRateMaximum (60fps、ただし不可能な場合は 30fps。これがデフォルトの設定となります) が用意されています。60fps のフレームレートに適していないデバイスを保護するため、実行時にはデバイスのモデルチェックが行われるようになっており、古いデバイスでは preferredFrameRate が自動的に 30fps に低下します。
オートコンプリート ウィジェットのカスタマイズ
Google Maps SDK for iOS 1.12 で導入された iOS プレイス オートコンプリート ウィジェットは、1.13 ではさらに高度なスタイル カスタマイズが可能となり、ビジュアルに統一感を持たせることができるようになりました。

    

ウィジェットの UI 要素のカラーリングを設定する方法は以下の通りです。
iOS の Appearance Proxy システムを利用して、UI コントロールのスタイルをカスタマイズしてください。プレイス オートコンプリート ウィジェットは Appearance Proxy の設定に従います。 
Appearance Proxy システムがサポートしていない色を設定したい場合は、ウィジェット クラスに新しい SDK メソッドを利用してください。
Appearance Proxy や SDK メソッドによってカスタマイズ可能な要素は、ドキュメントでハイライト表示されています。
mapViewSnapshotReady イベント
全てのタイルが描画されて地図のロードが完了したときに合図を出してほしいというご要望にお応えするため、Google Maps SDK for iOS 1.11 では、地図タイルとストリート ビュー パノラマの描画開始 / 終了を示すイベントを追加しました。
そして 1.13 では、新たに mapViewSnapshotReady イベントが追加されています。これは、地図が安定し(すなわちタイルのロードとラベルの描画が完了し、カメラがアイドル状態になる)、オーバーレイのオブジェクトの描画が完了したときに発行されるイベントです。地図から他の画面に遷移したいが、後で戻ってくるときのために地図の画像を用意しておきたい、といった場面で mapViewSnapshotReady イベントを活用すれば、現在の地図が正確に描画された状態であるかどうかを確認することができます。
以上も含めて、詳細はリリースノートをご覧の上、ぜひ Google Maps SDK for iOS 1.13 へのアップデートをお試しください。
Google Maps APIs をご利用いただき、また、issue tracker にフィードバックをお寄せいただき心よりお礼を申し上げます。