WS003SH(B)(W-ZERO3) 位置情報の取得(11) |
更新日時:2006年02月03日 |
プログラム / モバイル / ダウンロード / AIR-EDGE PHONE / WindowsMobile / Windows |
懲りずに更新です。 今回はちょっと複雑な機能をつけました。 前回書いていた機能で、URL先のスクリプトに渡す文字列を編集できると言うものです。 使わない方はまったく使わないと思いますが…。 最新版はこちら。 以下に新機能の仕様を。 仕様ってほど大げさじゃないのですが、そこそこ複雑なので…。 今までの動作としてはURLに「pos=取得した緯度経度」をくっつけて送信していました。 URL「http://www.prco.jp/servinfo/loc.php」 取得した座標「緯度が35.39.20.003 経度が139.44.55.280」(東京タワーの大体の緯度経度です以下、わかりやすいようにこの座標を使います。)だとすると http://www.prco.jp/servinfo/loc.php?pos=N35.39.20.003E139.44.55.280 と言う感じで固定でブラウザに渡していました。 で、今回追加した機能は、URLの後ろにくっつけている「pos=取得した緯度経度」を自分で好きな形に変更できると言うものです。 これが出来ると何が良いかと言いますと、細かいサービスが必要ないと言うことであれば(例えば現在位置だけわかればいい)Yahoo!MapやMapionを(変換スクリプトを介さずに)直接ブラウザで呼び出したりできます。 設定方法ですが、今回より追加になった「書式」コンボボックスに以下の形で送信する文字列を指定します。 リストの編集はURLやブラウザと同じように別画面で編集可能です。 基本的にはブラウザに渡すURL以降の文字列(↑の例だと'?'より後ろの文字列)をそのまま書き込めばいいのですが、これだと毎回変わる座標を送ることができません。 そこで、特定の文字を入れておくと、それを座標や郵便番号に置き換えられるようにしました。これを変数と言います。 今のところ存在する変数は $nl 緯度('N'はつかない。生の数字で35.39.20.003の形式) $el 経度('E'はつかない。生の数字で139.44.55.280の形式) $nml Mapion形式の緯度('N'はつかない。生の数字で35/39/20.003の形式) $eml Mapion形式の経度('E'はつかない。生の数字で139/44/55.280の形式) $pc 郵便番号(ただし取得できない場合もあるので注意) ※$を変数の目印として使いますので、$自身を文字列として加えたい場合は$$とすればエスケープします。 ※存在しない変数名を指定した場合、例えば$abcとかを書いた場合、$が無視されてabcとなります。 以上です。とゆーかこれ以上はいらなさそうですが…。 なにか他に入れたい情報があったら言ってください(時間とか日付とか)。 例として、初回起動の状態そのままで実行する場合 URL「http://www.prco.jp/servinfo/loc.php」 定義「pos=N$nlE$el」 となってますので、'$nl'の部分が緯度、'$el'の部分が経度にそれぞれ展開されて。 例えば東京タワーで使った場合 http://www.prco.jp/servinfo/loc.php?pos=N35.39.20.003E139.44.55.280 といった感じでブラウザに渡されます。 今までと全く同じです。 また、「書式」コンボボックスが空の場合もこの形でブラウザに渡されます。 Yahoo!Mapであれば URL「http://map.yahoo.co.jp/pl」 定義「el=$el&nl=$nl」 ブラウザに渡されるURL「http://map.yahoo.co.jp/pl?el=139.44.55.280&nl=35.39.20.003」 Mapionであれば URL「http://www.mapion.co.jp/c/f」 定義「size=450,400&scl=10000&grp=all&uc=1&el=$eml&nl=$nml」 ブラウザに渡されるURL「http://www.mapion.co.jp/c/f?size=450,400&scl=10000&grp=all&uc=1&el=139/44/55.280&nl=35/39/20.003」 こんな感じで「ブラウザを起動」にチェックを入れて送信すれば直接ブラウザから地図検索サービスを呼び出せると思います。 上記はすべて初期の状態にプリセットとして入れてあります。 すでにdefault.iniを作成してしまった方でも今までの設定を消しても問題ないようでしたらdefault.iniを消して起動し直せば初回起動状態に戻るので出てきます。 こんなところです。 面倒な気もしますが、新しい地図スクリプトなんかが出てきた時でも対応できるかなと思いこんな仕様になりました。 バグ報告(たくさんあると思います…汗)、ご意見ご感想などお待ちしております。 |
コメント |