2: def google_map_visits
3: geos = Visit.all(
4: :joins => "LEFT OUTER JOIN users ON (visits.user_id=users.id)",
5: :conditions => "users.state != 'admin'",
6: :order => "visits.created_at DESC",
7: :limit => 500,
8: :select => "ip_latitude, ip_longitude"
9: ).inject([]) do |array, visit|
10: geo = [visit.ip_latitude, visit.ip_longitude]
11: unless geo.any? { |pos| pos.nil? }
12: array << geo.join(',')
13: end
14: array
15: end
16: geos = geos.length > 0 ? "[#{geos.join('],[')}]" : ''
17: javascript_tag("Google.map([#{geos}], [], 'visit_map')")
18: end