sos の 作業メモ

プログラミングや英会話学習、マイルや旅行、日常生活など。最近はWebFormなASP.NETのお守りがお仕事です。

日々の生活にhappyをプラスする|ハピタス Gポイント

Google Maps SDK for iOS Ver.1.3.0 触ってみました (今度のはiOS 5.1でも動きます)

2012/06/22追記

Google Maps SDK for iOS Ver.1.3.1 がリリースされていたので触ってみました。1.3.1はインターフェースに変更は無いようです。



I/OのAndroid関連を追うだけでもヒーヒー言ってるのに、なんとなくチェックしたら iOS版も1.3.0 になってました…

とにかく nativeの Google Mapsネタは追っておきたいところですので、さらっと目を通してみました。

インストールの記事はこちら

1.2.2とか以前の記事はこちら

リリースノート

インターフェースに大きな変更はなさそうです

追加機能

  • カスタムタイルのためのGMSTileLayerをサポート (Android版には最初からありました)
  • GMSPolylineとGMSPolygonの線にアンチエイリアスかけるようにした
  • 地図の種類にkGMSTypeNoneを追加 (GMSTileLayerのためですね)
  • GMSMapLayerで CAAnimationGroupをサポート (それは使ったことがないのでわかりません。ごめんなさい。アニメーションをまとめて管理するので速いってことでしょうか?)

改善

  • 大量のオーバーレイを使ったときのパフォーマンスを改善
  • info window表示中のデバイスのロック/アンロック時に、過剰にメモリを消費する現象を解決
  • ユーザーのジェスチャ操作時にはアニメーションが停止される
  • アニメーションでは、アクティブなジェスチャーは停止する
  • 現在地のドットのセット/クリアする時にクラッシュする問題を修正
  • GMSPolylineとGMSPolygonはより高い精度と拡大をサポート
  • GMSPolylineとGMSPolygonは正しい透過率をサポート
  • GMSMapViewはスクロールビュー内での使用が可能となった

デモアプリ

1.2.1のデモプリに Tile Overlayが追加されています

Tile Overlay

モスコーンセンター(I/OやWWDCが行われる場所)の建物のフロアマップ(1F〜3F)をGMSTileLayerとして表示するデモ。単なるPolygonや画像のOverlayではない。


Developer Guideから抜粋

1.2.1の記事にもTileLayers(TileOverlay)の解説を追加しました

Tile Layers

TileLayers(Tile Overlayとも呼ばれる)は、基本の地図の上に重ね合わせての表示が可能。kGMSTypeNoneとの組み合わせなら、基本地図を置き換えたようにもみせられる。

Ground Overlayよりももっと広範囲に拡張の画像を貼り付けられるものと考えるとよい。

タイルの横の列をX,縦の列をYととして、 (X,Y)でタイルを表す。左上が(0,0)のタイル。
タイルの数は 2N * 2Nとなり、N がそのままZoom levelとなる。(基本のマップと同様)

例えば、zoom level が 2の場合、 4 * 4 = 16枚のタイルで構成され、左上が(0,0), 右上が(3,0), 右下が(3,3)のタイルとなる。

一枚のタイルは 256x256 pointの正方形。

GMSURLTileLayer

URLによってタイルイメージを調達するTileLayer

GMSSyncTileLayer

UIImageからタイルイメージを調達するTileLayer


すごく重要! 5.1でも動く!

以前はPolygonのデモで落ちていたのですが、今回は大丈夫。

初代iPadでも試しましたが、とてもヌルサク動いてくれてます。

これでMapKitとはおさらばできる日がきました。やっとGoogle Maps SDK for iOSの時代到来といったところでしょうか。