Module Jpmobile::Helpers
In: lib/jpmobile/helpers.rb

携帯電話端末に位置情報を要求するための、特殊なリンクを出力するヘルパー群。 多くのキャリアでは特殊なFORMでも位置情報を要求できる。

Methods

Public Instance methods

au GPS位置情報を取得するためのリンクを返す。

[Source]

     # 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を返す。

[Source]

     # 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 簡易位置情報を取得するためのリンクを返す。

[Source]

     # 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を返す。

[Source]

     # 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位置情報を取得するためのリンクを返す。

[Source]

    # 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を取得するためのリンクを返す。

[Source]

    # 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エリアを取得するためのリンクを返す。

[Source]

    # 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を返す。

[Source]

    # 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で端末製造番号等を取得するためのリンクを返す。

[Source]

    # 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の場合はデフォルトのアンカーテキストを出力する。

[Source]

    # 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 位置情報 (基地局) を取得するためのリンクを返す。

[Source]

     # 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)で位置情報を取得するためのリンクを返す。

[Source]

     # 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を返す。

[Source]

     # 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 基地局位置情報を取得するためのリンクを返す。

[Source]

     # 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を返す。

[Source]

     # 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

[Validate]