Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

extends geokit and gives convenient helpers for adding google maps to your applicaiton

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 README
Octocat-spinner-32 Rakefile
Octocat-spinner-32 init.rb
Octocat-spinner-32 license.txt
README
======================================================
GoogleMaps
======================================================
a rails plugin that and makes generating google maps easy as pie


======================================================
INSTALL
======================================================
script/plugin install git://github.com/bhedana/google_maps.git




======================================================
PLUGIN CONFIGURATION
======================================================
1 - Set your Google Maps API Key in environment.rb (or somewhere else if you'd prefer)
	I'd suggest copying the configuration code out of your environment.rb and into an initializer named geokit

  # This key is good for localhost:3000, signup for more at http://www.google.com/apis/maps/signup.html
  GOOGLE_APPLICATION_ID = "ABQIAAAA3HdfrnxFAPWyY-aiJUxmqRTJQa0g3IQ9GZqIMmInSLzwtGDKaBQ0KYLwBEKSM7F9gCevcsIf6WPuIQ"



======================================================
MAP CONTROLS
======================================================

maps_controller.rb
--------------------------
class MapsController < ApplicationController
	def	show
		@map = GoogleMap::Map.new
		
		# define control types shown on map
		@map.controls = [ :large, :scale, :type ]
		# valid controls options include
		# :large 
		# :small 
		# :overview
		# :large_3d
		# :scale
		# :type
		# :menu_type
		# :hierachical_type
		# :zoom
		# :zoom_3d
		# :nav_label
	        	
		# allow user to double click to zoom
		@map.double_click_zoom = true
		
		# not certain what this does
		@map.continuous_zoom = false
		
		# allow user to scroll using mouse wheel?
		@map.scroll_wheel_zoom = false
		
	end
end

======================================================
MAP CENTERING AND ZOOM
======================================================

maps_controller.rb
--------------------------
class MapsController < ApplicationController
	def	show
		@map = GoogleMap::Map.new
		@map.center = GoogleMap::Point.new(47.6597, -122.318) #SEATTLE WASHINGTON
		@map.zoom = 10 #200km
	end
end


======================================================
MAP CENTERING USING BOUNDS
======================================================

maps_controller.rb
--------------------------
class MapsController < ApplicationController
	def	show
		@map = GoogleMap::Map.new
		@map.bounds =  [GoogleMap::Point.new(47.6597, -121.318), GoogleMap::Point.new(48.6597, -123.318)] #SEATTLE WASHINGTON 50KM
	end
end



======================================================
SIMPLE MARKER USAGE
======================================================

maps_controller.rb
--------------------------
class MapsController < ApplicationController
	def	show
		@map = GoogleMap::Map.new
  		@map.markers << GoogleMap::Marker.new(	:map => @map, 
                                     			:lat => 47.6597, 
                                     			:lng => -122.318,
                                     			:html => 'My House')
	end
end

maps/show.html.erb
-------------------------
  <%= @map.to_html %>
  <div style="width: 500px; height: 500px;">
    <%= @map.div %>
  </div>


======================================================
Advanced Marker Usage
======================================================

# Available icon classes:
# GoogleMap::LetterIcon.new(@map, 'A') # letter must be uppercase
# GoogleMap::SmallIcon.new(@map, 'yellow')

maps_controller.rb
--------------------------
class MapsController < ApplicationController
	def	show
		@map = GoogleMap::Map.new
  		@map.markers << GoogleMap::Marker.new(	:map => @map, 
												:icon => GoogleMap::SmallIcon.new(@map, 'blue'),
												:lat => 47.6597, 
												:lng => -122.318,
												:html => 'My House',
												:marker_icon_path => '/path/to/image',
												:marker_hover_text => 'String to show on Mouse Over',
												:open_infoWindow => true #opens marker by default
												)
  
	end
end

maps/show.html.erb
-------------------------
  <%= @map.to_html %>
  <div style="width: 500px; height: 500px;">
    <%= @map.div %>
  </div>


======================================================
PLOTTING POLYLINE ROUTES
======================================================

maps_controller.rb
--------------------------
class MapsController < ApplicationController
	def	show
		@map = GoogleMap::Map.new
  		
		# plot points for polyline
        vertices = []
        object.gpxroute.gpxtrackpoints.each do |p|
          vertices << GoogleMap::Point.new(p.lat, p.lon)
        end
		
  		# plot polyline
		@map.overlays << GoogleMap::Polyline.new(	:map => @map, 
													:color=>'#FF0000', 
													:weight=>'2', 
													:opacity=>'.5', 
													:vertices=>vertices
													)
	end
end

maps/show.html.erb
-------------------------
  <%= @map.to_html %>
  <div style="width: 500px; height: 500px;">
    <%= @map.div %>
  </div>
Something went wrong with that request. Please try again.