koogawa blog

iOS、Android、foursquareに関する話題

iOS 9で強化されたMapKit

※本記事は、一般に公開されている情報を元に作成しています。記事中の画像はWWDCのスライドのものを引用させて頂いております

WWDC 2015 で発表された iOS 9では MapKit も色々と強化されています。以下にその内容をまとめます。

Improvements to Existing API

ピンの色をカスタマイズできるように

iOS 8までは「赤」「緑」「紫」しか選択できませんでしたが、iOS 9 からは好きな色を設定できるようになりました。

@availability(iOS 9.0, *) var pinTintColor: UIColor!

Calloutをカスタマイズできるように

Calloutというのは、地図上のピンをタップした時に表示される「吹き出し」のようなアレです。

スクリーンショット 2015-07-02 22.26.48.png

Calloutについては、これまでも

  • タイトル
  • サブタイトル
  • 右側に表示されるアクセサリービュー
  • 左側に表示されるアクセサリービュー

をカスタマイズすることができました。

iOS 9からは新たに

@availability(iOS 9.0, *) var detailCalloutAccessoryView: UIView?

が追加され、Calloutの詳細部分までカスタマイズできるようになりました。

これにより、Calloutに画像を入れたりテキストビューなんかも表示できるようになりました。

スクリーンショット 2015-07-02 17.47.19.png

Mapのカスタマイズ性向上

  • 交通状況を表示できるように(showsTraffic)
  • スケールバーを表示できるように(showScale)
  • コンパスを表示できるように(showsCompass)

スクリーンショット 2015-07-02 22.42.22.png

その他

  • CLGeocoder
  • MKLocalSearch

がTime zoneサポート。

Transit

iOS 9の「マップ」アプリから乗換案内機能*1がサポートされましたが、MapKitでもこの機能が使えるようになりました。

目的地の情報をセットし、

openInMapsWithLaunchOptions:

メソッドを実行することで、次のようなナビ画面が表示されるようです。(WWDCでのデモより)

スクリーンショット 2015-07-02 18.17.32.png

Flyover

これまで MKMapType

  • Standard
  • Satellite
  • Hybrid

の3種類だけでしたが、これに

  • SatelliteFlyover
  • HybridFlyover

が追加されました。

SatelliteFlyover では次のような通常のFlyoverビューが、

スクリーンショット 2015-07-02 23.07.37.png

HybridFlyover ではラベル表記も併せたビューが表示されるようです。

スクリーンショット 2015-07-02 23.07.52.png

リンク集

*1:日本は未対応