41
43

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iOS 9で強化されたMapKit

Posted at

※本記事は、一般に公開されている情報を元に作成しています。記事中の画像は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の「マップ」アプリから乗換案内機能(日本は未対応)がサポートされましたが、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

リンク集


本記事は http://blog.koogawa.com/entry/2015/07/03/000000 でも公開しております。

41
43
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
41
43

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?