Module | Jpmobile::Helpers |
In: |
lib/jpmobile/helpers.rb
|
携帯電話端末に位置情報を要求するための、特殊なリンクを出力するヘルパー群。 多くのキャリアでは特殊なFORMでも位置情報を要求できる。
au GPS位置情報を取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 115 115: def au_gps_link_to(str, options={}) 116: link_to_url(str, au_gps_url_for(options)) 117: end
au GPS位置情報を取得するためのURLを返す。
# File lib/jpmobile/helpers.rb, line 100 100: def au_gps_url_for(options={}) 101: url = options 102: datum = 0 # 0:wgs84, 1:tokyo 103: unit = 0 # 0:dms, 1:deg 104: if options.is_a?(Hash) 105: options = options.symbolize_keys 106: options[:only_path] = false 107: datum = (options.delete(:datum) || 0 ).to_i # 0:wgs84, 1:tokyo 108: unit = (options.delete(:unit) || 0 ).to_i # 0:dms, 1:deg 109: url = url_for(options) 110: end 111: return "device:gpsone?url=#{CGI.escape(url)}&ver=1&datum=#{datum}&unit=#{unit}&acry=0&number=0" 112: end
au 簡易位置情報を取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 131 131: def au_location_link_to(str, options={}) 132: link_to_url(str, au_location_url_for(options)) 133: end
au 簡易位置情報を取得するためのURLを返す。
# File lib/jpmobile/helpers.rb, line 120 120: def au_location_url_for(options={}) 121: url = options 122: if options.is_a?(Hash) 123: options = options.symbolize_keys 124: options[:only_path] = false 125: url = url_for(options) 126: end 127: return "device:location?url=#{CGI.escape(url)}" 128: 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 89 89: def docomo_guid_link_to(str, options={}) 90: url = options 91: if options.is_a?(Hash) 92: options = options.symbolize_keys 93: options[:guid] = "ON" 94: url = url_for(options) 95: end 96: return link_to_url(str, url) 97: end
DoCoMoでオープンiエリアを取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 73 73: def docomo_openiarea_link_to(str, options={}) 74: link_to_url(str, docomo_openiarea_url_for(options)) 75: 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: else 67: posinfo = "1" 68: end 69: return "http://w1m.docomo.ne.jp/cp/iarea?ecode=OPENAREACODE&msn=OPENAREAKEY&posinfo=#{posinfo}&nl=#{CGI.escape(url)}" 70: end
DoCoMoで端末製造番号等を取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 78 78: def docomo_utn_link_to(str, options={}) 79: url = options 80: if options.is_a?(Hash) 81: options = options.symbolize_keys 82: options[:only_path] = false 83: url = url_for(options) 84: end 85: return %{<a href="#{url}" utn>#{str}</a>} 86: 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 136 136: def jphone_location_link_to(str,options={}) 137: url = options 138: if options.is_a?(Hash) 139: options = options.symbolize_keys 140: options[:only_path] = false 141: url = url_for(options) 142: end 143: return %{<a z href="#{url}">#{str}</a>} 144: end
Softbank(含むVodafone 3G)で位置情報を取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 161 161: def softbank_location_link_to(str,options={}) 162: link_to_url(str,softbank_location_url_for(options)) 163: end
Softbank(含むVodafone 3G)で位置情報を取得するためのURLを返す。
# File lib/jpmobile/helpers.rb, line 147 147: def softbank_location_url_for(options={}) 148: url = options 149: mode = "auto" 150: if options.is_a?(Hash) 151: options = options.symbolize_keys 152: mode = options.delete(:mode) || "auto" 153: options[:only_path] = false 154: url = url_for(options) 155: end 156: url.sub!(/\?/, '&') 157: return "location:#{mode}?url=#{url}" 158: end
Willcom 基地局位置情報を取得するためのリンクを返す。
# File lib/jpmobile/helpers.rb, line 177 177: def willcom_location_link_to(str,options={}) 178: link_to_url(str, willcom_location_url_for(options)) 179: end
Willcom 基地局位置情報を取得するためのURLを返す。
# File lib/jpmobile/helpers.rb, line 166 166: def willcom_location_url_for(options={}) 167: url = options 168: if options.is_a?(Hash) 169: options = options.symbolize_keys 170: options[:only_path] = false 171: url = url_for(options) 172: end 173: return "http://location.request/dummy.cgi?my=#{url}&pos=$location" 174: end