iOSおよびAndroidでのMapsのリンクについて覚え書き
Posted: Updated:
Mapsについてのメモ
今更ですが、Mapsへのリンクについて挙動確認をしたのでメモ。大体こんなHTMLでテストしてみてます。
<ul> <!-- 東京スカイツリーの座標 --> <li><a href="http://maps.google.com/maps?hl=ja&ll=35.709217,139.812398&spn=0.009914,0.021136&sll=35.710376,139.810649&sspn=0.004957,0.010568&gl=jp&t=m&z=16">lat, lng (maps.google.com)</a></li> <li><a href="http://maps.apple.com/maps?hl=ja&ll=35.709217,139.812398&spn=0.009914,0.021136&sll=35.710376,139.810649&sspn=0.004957,0.010568&gl=jp&t=m&z=16">lat, lng (maps.apple.com)</a></li> <!-- 東京タワー --> <li><a href="http://maps.google.com/maps?q=東京タワー">query (maps.google.com)</a></li> <li><a href="http://maps.apple.com/maps?q=東京タワー">query (maps.apple.com)</a></li> </ul>
検証機は以下のとおり。
- iOS 6.0 iPhone3GS
- iOS 5.1.1 iPad (3rd Gen)
- Android 4.0.3 (Xperia SX)
for iOS
Unlike some schemes, map URLs do not start with a “maps” scheme identifier. Instead, map links are specified as regular http links but are targeted at the Maps app
他のいくつかのスキームとは異なり、マップのURLはmapsスキームでは始まりません。代わりに通常のhttpリンクを指定していますが、これでMapsアプリがターゲットになります。(意訳)
なんかちょくちょく見かけていたmaps://
って使われていないんですね。試してみると開けはしたりするようですが。
http://maps.google.com
でiOS5以前だとMapsアプリが反応するhttp://maps.google.com
でiOS6以降だとGoogle Mapsにリンクされる(ブラウザの普通なリンク動作)http://maps.apple.com
でMapsアプリが反応する
上記のURLにあるドキュメントの下部を見ると分かりますが、maps.apple.comはパラメータの多くをGoogle Mapsと互換させています。ちなみに、https://maps.apple.com(SSL)は、ブラウザでアクセスしても反応してくれません。
for Android
Androidは、そのリソースをMapsアプリで開くかブラウザで開くかユーザーに選ばせます。
http://maps.google.com
でブラウザおよびMapアプリが反応するhttp://maps.apple.com
でもブラウザおよびMapアプリが反応する(!)
http://maps.apple.comでMapアプリが反応するのは、http://maps.apple.com自体がブラウザなどでHTTPアクセスされるとhttp://maps.google.comにリダイレクトされるので、そこで改めて反応してるんじゃないかと思う次第。(すみません、詳しくは調べてないので憶測混じってます)
とどのつまり
http://maps.apple.com
でURLつくっておけば「iOSではMapsアプリが開けるし、Androidでもよしなにできるよ」という何ともアップル様状態なようです。
まあ、iOS6で刷新されてしまい、少なくとも日本国内においては情報が減ったような気がするMapsアプリに、敢えて遷移する必要があるのかというと、様子をみて慎重に判断したほうがよさそうな気もします。