その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アプリを起動するためのもので、以下のアクションのうちの一つを実行する。
- 指定された座標とズームレベルでマップを表示
- 位置や場所を検索し、それらを地図に表示
- ある地点から別の地点への道順。道順は車、徒歩、公共交通機関から選べる。
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¢er=37.759748,-122.427135
他の例
comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA¢er=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan¢er=35.660888,139.73073&zoom=15&views=transit
Directions
二点間の道順を表示する。使用する移動手段の指定も可能。
Parameters
- saddr: 出発地点。緯度,経度か検索用の住所。検索結果が複数の場合は、最初の結果が使用される。値が空の場合、ユーザーの現在位置が使用される
- daddr: 到着地点。addrと同じ形式で指定する
- directionsmode: 移動手段。"driving", "transit", "walking"から指定する
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¢er=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¢er=37.423725,-122.0877&directionsmode=walking&zoom=17
お次はデモアプリ。 どうなってるのか楽しみです。