じゃらんWEBサービスを使って携帯サイトをつくる方法
大井宏友です。
Mash Up Award 2ndの表彰式で受賞者の皆さんとお話をさせていただく機会がありましたが、何名かの方から「携帯サイトを作っていて、 じゃらんWEBサービスも使いたかったけど携帯URLがレスポンスになかったので使えなかったんですよ」と伺っていました。
表彰式からもう2ヶ月経過していることもあって時期的にちょっと微妙ではありますが、じゃらんWEBサービスを利用して携帯向けサイトを作る方法のひとつを紹介したいと思います。
またまたMyLinkを利用します。
アフィリエイトのバリューコマースのMyLinkはたたみラボでもよく言及していますが、実はじゃらんはMyLinkの中でも唯一、モバイル向けMyLinkに対応しています。 じゃらんWEBサービスは確かに携帯サイトのURLを返してはくれないのですが、 バリューコマースのMyLinkと組み合わせることでじゃらんWEBサービスを使った携帯向けサイトを作ることができます。
手順。
モバイル向けMyLinkはPC用サイトとは別にサイト登録をする必要があります。サイト登録が完了すると、モバイル向けサイトとのパートナー申請ができるようになりますので、じゃらんとの申請を行ってください。
その後リンク一覧から「自由テキスト」のリンクを作成してください。
このあたりの手順はこちらを参照ください。
モバイル用MyLinkでの各ホテルの詳細ページへのURLは次のようになります。
<a href=http://i.vcads.com/servlet/referral?vs=*****&vp=*****&lpurl=http%3a%2f%2fwww%2ejalan%2enet%2fmw%2fmwp2000%2fmww2001%2edo%3fyno%3d(ホテルID)" target="_blank">○×ホテル</a><img src="http://i.vcads.com/servlet/gifbanner?vs=*****&vp=*****" height="1" width="1" Border="0"> ※「*****」の部分は、作成した自由テキストのソースから抜き出す。
このなかの「(ホテルID)」の部分を、じゃらんWEBサービスの宿検索APIで取得できるHotelIDと置き換えるだけでOK。
GPS携帯の場合、緯度経度の計算が必要です。
上記のことさえ分かれば、一度携帯マッシュアップ(特にホットペッパーWEBサービス利用)の開発経験があればすんなりいくと思います。実際僕も「ケータイ飲食検索」のソースを改変して「ケータイ宿検索」を作ってみました。
「ケータイ宿検索」を作るときには、 リンクやレスポンスXML解析の変更はもちろんなのですが、緯度経度部分も変更が必要です。
じゃらんWEBサービスの宿検索APIアドバンスでは緯度経度を指定することができますが、その形式は「ミリ秒(整数)」、測地系は旧日本測地系です。一方、GPS携帯で取得できるのは「度・分・秒」「世界測地系」ですのでじゃらんWEBサービスに渡す前に計算が必要です。
世界測地系<=>旧日本測地系の計算式はいくつか種類がありまして、それぞれ複雑さと精度に違いがあるので用途に従ってどの式を使うのかを決める必要があります。今回は特に精度を求めなくてもいいので、じゃらんWEBサービスのチュートリアルにある式を利用しました。
「ケータイ飲食検索」 のソースを利用する場合は、44~58行目をこのような感じに変更します。
if(@$_GET["lat"] &&@$_GET["lon"]){
//緯度経度検索。dms表記をdegreeに変換
$lat = explode(".", $_GET["lat"]);
$lat_degree = intval($lat[0]);
$lat_minute = $lat[1];
$lat_second = $lat[2] . "." . $lat[3];
$Latitude = $lat_degree + $lat_minute / 60 +
$lat_second / 3600;
$lon = explode(".", $_GET["lon"]);
$lon_degree = intval($lon[0]);
$lon_minute = $lon[1];
$lon_second = $lon[2] . "." . $lon[3];
$Longitude = $lon_degree + $lon_minute / 60 +
$lon_second / 3600;
//日本測地系、ミリ秒に変換
$latitude_j = round(($Latitude * 1.000106961 - $Longitude * 0.000017467 - 0.004602017) * 3600 * 1000);
$longitude_j = round(($Longitude * 1.000083049 + $Latitude * 0.000046047 - 0.010041046) * 3600 * 1000);
//検索範囲を5kmにし、宿検索APIのクエリーを生成
$req .= "&range=5.0&y=" . $latitude_j . "&x=" . $longitude_j;//API
$url .= "lat=" . urlencode($_GET["lat"]) . "&lon=" . urlencode($_GET["lon"]);//ページング用
}else if(@$_GET["Keyword"]){
将来じゃらんWEBサービスがモバイルに対応するかもしれませんが、とりいそぎじゃらんWEBサービスで携帯サイトを作りたい場合はよかったら参考にしてください。


