空き宿検索Mapを考える
流れとしてはこんな感じかな…
前提条件
・GoogleMapを使用
・空室宿情報は楽天トラベルから取得する
ユーザ側の処理
・ユーザは行きたい場所を入力
・ユーザはチェックインの日付をリストより選択 : 日付の型はYYYY-MM-DD
・チェックアウトの日付をリストより選択 : 日付の型はYYYY-MM-DD
※日付はPHPで年、月、日を作成して表示させる。
フォーカスを当日にあてる処理が必要。
・ユーザは人数を入力 : 選択形式にしようかな。10人くらいまでの。
・ユーザは最大いくらまでか、値段を入力 : 数値チェック必要
・ユーザは最小いくら以上か、値段を入力 : 数値チェック
・ユーザは検索ボタンを押下する
Map側の処理
・入力された地名等の地図に移動する : Mapサイズ検討必要
・移動した地図上にマーカをつける
・移動した先の緯度・経度(世界)を取得する
・緯度・経度(世界)を緯度・経度(日本)に変換
※この処理はGoogleMapと楽天トラベルで扱う緯度経度の形式が違うため。
【計算式】
日本測地系緯度 = 世界測地系緯度 + 0.00010696 *
世界測地系緯度 - 0.000017467 * 世界測地系経度 - 0.0046020
日本測地系経度 = 世界測地系経度 + 0.000046047 * 世界測地系緯度 +
0.000083049 * 世界測地系経度 - 0.010041
・半径3km以内かつ空室が存在する宿一覧リストを取得
・宿リスト分以下の処理を繰り返す
・取得した宿の緯度・経度(日本)を取得する
・緯度・経度(日本)を緯度・経度(世界)に変換
※【計算式】
世界測地系緯度 = 日本測地系緯度 - 0.00010695 * 日本測地系緯度 +
0.000017464 * 日本測地系経度 + 0.0046017
世界測地系経度 = 日本測地系経度 - 0.000046038 * 日本測地系緯度 -
0.000083043 * 日本測地系経度 + 0.010040
・変換した緯度(世界)でMap上にマーカを付ける
・その他の宿情報(宿名、価格など)をオープンウインド情報に設定する
ユーザ側の処理に戻って
・ユーザはオープンウインドより宿情報にアクセスし、予約する
分岐ルート。
ユーザ側の処理
・ユーザは地図を移動する : マウスでMapをつかんで移動するイメージ
・ユーザは再検索ボタンを押下する
※フォーカスがMapから離れた時点で宿を表示しようかと思ったけど
ちょっと動かすだけで毎回処理が走るのは遅いし、同一宿のマーカ
問題もありそうだからやめた。
どっちにしろ3km以内であれば、同一箇所にたくさんマーカが出来て
しまうのはいたしかたないか。。
Map側の処理
・Mapセンタの緯度・経度(世界)を取得。変換処理は上と一緒なので省略。
・半径3km以内かつ空室が存在する宿一覧リストを取得
※検索条件が入力されている状態であること
あとは上と同じ処理。
こんな感じかなぁ。
今回はちょっとした設計というか道筋を考えてから作ってみようかと
思い、備忘録的な感覚で書いてみました。
って、、技術的には出来るだろうけど、ここんとこえらい忙しいし、いつ
完成することやら(笑)
設計とちょっと違う部分がありますが、作ってみました↓
http://www.vietnamcup.com/vietnamcupmap.html
まだ色々問題ありますが、、とりあえず。
トラックバック(0)
このブログ記事を参照しているブログ一覧: 空き宿検索Mapを考える
このブログ記事に対するトラックバックURL: http://menicks.s192.xrea.com/cgi-bin/mt/mt-tb.cgi/77

コメントする