sos の 作業メモ

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

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

その10: URL Scheme (Google Maps SDK for iOS)

前回の続き

いよいよドキュメントの最後の章。 iOS固有のGoogleMapsアプリを呼び出す機能のドキュメントです。(Android版もIntentでアプリを呼べるんですけどね)

Google Maps URL Scheme

Overview

URL Schemeは、他のiOSアプリやWebアプリケーションから、iOSアプリを起動する機能で、 URLの中にオプションを設定して、対象のアプリケーションにパラメータを渡すことも可能。

Google Maps URL Schemeは、Google Maps iOSアプリを起動するためのもので、以下のアクションのうちの一つを実行する。

  1. 指定された座標とズームレベルでマップを表示
  2. 位置や場所を検索し、それらを地図に表示
  3. ある地点から別の地点への道順。道順は車、徒歩、公共交通機関から選べる。

URL Schemeを使ってアプリを起動するURLを、ユーザーに対して提示する前に、以下のコードを使って、アプリがインストールされているかをチェックする必要がある。

[[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"comgooglemaps://"]];

Display a Map

指定したズームレベルと座標のマップの表示や、マップの上に別のViewを重ねたり、StreetViewの表示が可能。

Parameters

全てのパラメータはオプションのため、なにも設定しない場合は単にGoogle Maps for iOSアプリを起動するのと同じことになる。

  • zoom: マップのズームレベル
  • center: 地図の中心の座標。緯度と経度をカンマで区切って指定する
  • mapmode: 地図の種類。"standard"か"streetview"が指定可能。何も指定しない場合、マップアプリの設定が使われる
  • views: Viewのon/offを切り替える。"satellite", "traffic", "transit"で、カンマ区切りで複数指定も可能。何も指定しない場合、viewは非表示となる。

以下はNew Yorkが中心でズームレベル14、traffic viewを表示する URLの例

comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic

他の例

comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview

Search

指定した座標の近辺での検索結果を表示可能。

Parameters

マップを表示するためのパラメータに加えて、検索用の"q"がサポートされている。

  • q: 検索対象の文字列

以下は、指定した座標周辺の"Pizza"を検索するURLの例

comgooglemaps://?q=Pizza&center=37.759748,-122.427135

他の例

comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA&center=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan&center=35.660888,139.73073&zoom=15&views=transit

Directions

二点間の道順を表示する。使用する移動手段の指定も可能。

Parameters

  • saddr: 出発地点。緯度,経度か検索用の住所。検索結果が複数の場合は、最初の結果が使用される。値が空の場合、ユーザーの現在位置が使用される
  • daddr: 到着地点。addrと同じ形式で指定する
  • directionsmode: 移動手段。"driving", "transit", "walking"から指定する

以下はGoogle NYCから JFK空港までのURL例

comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit

他の例

comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA&center=37.422185,-122.083898&zoom=10
comgooglemaps://?saddr=2025+Garcia+Ave,+Mountain+View,+CA,+USA&daddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA,+United+States&center=37.423725,-122.0877&directionsmode=walking&zoom=17

お次はデモアプリ。 どうなってるのか楽しみです。

次回へ続く