diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb index eb2fb10..1f5f813 100644 --- a/app/controllers/welcome_controller.rb +++ b/app/controllers/welcome_controller.rb @@ -1,12 +1,14 @@ class WelcomeController < ApplicationController def index + @zoom = 15 # Default coordinates: Boston center @lat, @lng = 42.358431, -71.059773 - @zoom = 15 + @hydrants = [] address, city, state = params[:address], params[:city], params[:state] if address && city && state - @lat, @lng = Address.find_lat_lng("#{address}, #{city}, #{state}") @zoom = 18 + @lat, @lng = Address.find_lat_lng("#{address}, #{city}, #{state}") + @hydrants = Hydrant.find_closest(@lat, @lng) end end end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 3491a20..adfc7ba 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -16,6 +16,17 @@ mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); + + var redMarker = '/images/markers/red.png'; + var greenMarker = '/images/markers/green.png'; +<% @hydrants.each do |hydrant| %> + var h<%= hydrant.city_id %>LatLng = new google.maps.LatLng(<%= hydrant.lat %>, <%= hydrant.lng %>); + var h<%= hydrant.city_id %>Marker = new google.maps.Marker({ + position: h<%= hydrant.city_id %>LatLng, + map: map, + icon: <%= hydrant.user_id ? "greenMarker" : "redMarker" %> + }); +<% end %> }) <%= csrf_meta_tag %> diff --git a/app/views/welcome/index.html.erb b/app/views/welcome/index.html.erb index 566020f..af128c8 100644 --- a/app/views/welcome/index.html.erb +++ b/app/views/welcome/index.html.erb @@ -3,7 +3,7 @@

Claim responsibility for shoveling out a fire hydrant after it snows.

- <%= form_tag root_path, :method => :get do %> + <%= form_tag do %> <%= label_tag "address" %> <%= text_field_tag "address", params[:address], :tabindex => 1 %> <%= label_tag "city" %>