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

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

Methods

Public Instance methods

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

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

[Source]

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

[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:       end
67:       return "http://w1m.docomo.ne.jp/cp/iarea?ecode=OPENAREACODE&msn=OPENAREAKEY&posinfo=#{posinfo}&nl=#{CGI.escape(url)}"
68:     end

DoCoMoで端末製造番号等を取得するためのリンクを返す。

[Source]

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

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

[Source]

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

[Source]

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

[Source]

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

[Source]

     # 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

[Validate]