Module | Jpmobile::Helpers |
In: |
lib/jpmobile/helpers.rb
|
携帯電話端末に位置情報を要求するための、特殊なリンクを出力するヘルパー群。 多くのキャリアでは特殊なFORMでも位置情報を要求できる。
au GPS位置情報を取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 113 113: def au_gps_link_to(str, options={}) 114: link_to_url(str, au_gps_url_for(options)) 115: end
au GPS位置情報を取得するためのURLを返す。
# File lib/jpmobile/helpers.rb, line 98 98: def au_gps_url_for(options={}) 99: url = options 100: datum = 0 # 0:wgs84, 1:tokyo 101: unit = 0 # 0:dms, 1:deg 102: if options.is_a?(Hash) 103: options = options.symbolize_keys 104: options[:only_path] = false 105: datum = (options.delete(:datum) || 0 ).to_i # 0:wgs84, 1:tokyo 106: unit = (options.delete(:unit) || 0 ).to_i # 0:dms, 1:deg 107: url = url_for(options) 108: end 109: return "device:gpsone?url=#{CGI.escape(url)}&ver=1&datum=#{datum}&unit=#{unit}&acry=0&number=0" 110: end
au 簡易位置情報を取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 129 129: def au_location_link_to(str, options={}) 130: link_to_url(str, au_location_url_for(options)) 131: end
au 簡易位置情報を取得するためのURLを返す。
# File lib/jpmobile/helpers.rb, line 118 118: def au_location_url_for(options={}) 119: url = options 120: if options.is_a?(Hash) 121: options = options.symbolize_keys 122: options[:only_path] = false 123: url = url_for(options) 124: end 125: return "device:location?url=#{CGI.escape(url)}" 126: end
DoCoMo FOMAでGPS位置情報を取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 48 48: def docomo_foma_gps_link_to(str, options={}) 49: url = options 50: if options.is_a?(Hash) 51: options = options.symbolize_keys 52: options[:only_path] = false 53: url = url_for(options) 54: end 55: return %{<a href="#{url}" lcs>#{str}</a>} 56: end
DoCoMoでiモードIDを取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 87 87: def docomo_guid_link_to(str, options={}) 88: url = options 89: if options.is_a?(Hash) 90: options = options.symbolize_keys 91: options[:guid] = "ON" 92: url = url_for(options) 93: end 94: return link_to_url(str, url) 95: end
DoCoMoでオープンiエリアを取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 71 71: def docomo_openiarea_link_to(str, options={}) 72: link_to_url(str, docomo_openiarea_url_for(options)) 73: end
DoCoMoでオープンiエリアを取得するためのURLを返す。
# File lib/jpmobile/helpers.rb, line 59 59: def docomo_openiarea_url_for(options={}) 60: url = options 61: if options.is_a?(Hash) 62: options = options.symbolize_keys 63: options[:only_path] = false 64: posinfo = options.delete(:posinfo) || "1" # 基地局情報を元に測位した緯度経度情報を要求 65: url = url_for(options) 66: end 67: return "http://w1m.docomo.ne.jp/cp/iarea?ecode=OPENAREACODE&msn=OPENAREAKEY&posinfo=#{posinfo}&nl=#{CGI.escape(url)}" 68: end
DoCoMoで端末製造番号等を取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 76 76: def docomo_utn_link_to(str, options={}) 77: url = options 78: if options.is_a?(Hash) 79: options = options.symbolize_keys 80: options[:only_path] = false 81: url = url_for(options) 82: end 83: return %{<a href="#{url}" utn>#{str}</a>} 84: end
位置情報(緯度経度がとれるもの。オープンiエリアをのぞく)要求するリンクを作成する。 位置情報を受け取るページを url_for に渡す引数の形式で options に指定する。 :show_all => true とするとキャリア判別を行わず全てキャリアのリンクを返す。 第1引数に文字列を与えるとその文字列をアンカーテキストにする。 第1引数がHashの場合はデフォルトのアンカーテキストを出力する。
# File lib/jpmobile/helpers.rb, line 11 11: def get_position_link_to(str=nil, options={}) 12: if str.is_a?(Hash) 13: options = str 14: str = nil 15: end 16: show_all = nil 17: if options.is_a?(Hash) 18: options = options.symbolize_keys 19: show_all = options.delete(:show_all) 20: end 21: 22: # TODO: コード汚い 23: s = [] 24: if show_all || request.mobile.instance_of?(Mobile::Docomo) 25: s << docomo_foma_gps_link_to(str||"DoCoMo FOMA(GPS)", options) 26: end 27: if show_all || request.mobile.instance_of?(Mobile::Au) 28: if show_all || request.mobile.supports_gps? 29: s << au_gps_link_to(str||"au(GPS)", options) 30: end 31: if show_all || (!(request.mobile.supports_gps?) && request.mobile.supports_location?) 32: s << au_location_link_to(str||"au(antenna)", options) 33: end 34: end 35: if show_all || request.mobile.instance_of?(Mobile::Jphone) 36: s << jphone_location_link_to(str||"Softbank(antenna)", options) 37: end 38: if show_all || request.mobile.instance_of?(Mobile::Vodafone) || request.mobile.instance_of?(Mobile::Softbank) 39: s << softbank_location_link_to(str||"Softbank 3G(GPS)", options) 40: end 41: if show_all || request.mobile.instance_of?(Mobile::Willcom) 42: s << willcom_location_link_to(str||"Willcom", options) 43: end 44: return s.join("<br>\n") 45: end
J-PHONE 位置情報 (基地局) を取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 134 134: def jphone_location_link_to(str,options={}) 135: url = options 136: if options.is_a?(Hash) 137: options = options.symbolize_keys 138: options[:only_path] = false 139: url = url_for(options) 140: end 141: return %{<a z href="#{url}">#{str}</a>} 142: end
Softbank(含むVodafone 3G)で位置情報を取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 159 159: def softbank_location_link_to(str,options={}) 160: link_to_url(str,softbank_location_url_for(options)) 161: end
Softbank(含むVodafone 3G)で位置情報を取得するためのURLを返す。
# File lib/jpmobile/helpers.rb, line 145 145: def softbank_location_url_for(options={}) 146: url = options 147: mode = "auto" 148: if options.is_a?(Hash) 149: options = options.symbolize_keys 150: mode = options.delete(:mode) || "auto" 151: options[:only_path] = false 152: url = url_for(options) 153: end 154: url.sub!(/\?/, '&') 155: return "location:#{mode}?url=#{url}" 156: end
Willcom 基地局位置情報を取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 175 175: def willcom_location_link_to(str,options={}) 176: link_to_url(str, willcom_location_url_for(options)) 177: end
Willcom 基地局位置情報を取得するためのURLを返す。
# File lib/jpmobile/helpers.rb, line 164 164: def willcom_location_url_for(options={}) 165: url = options 166: if options.is_a?(Hash) 167: options = options.symbolize_keys 168: options[:only_path] = false 169: url = url_for(options) 170: end 171: return "http://location.request/dummy.cgi?my=#{url}&pos=$location" 172: end