GoogleStaticMap-Clusters
Add points layers, cluster them and get the link to the static map. Each cluster is represented by a marker.
Based on this post.
Installation
Add this line to your application's Gemfile:
gem 'googlestaticmap-clusters'
And then execute:
$ bundle
Or install it yourself as:
$ gem install googlestaticmap-clusters
Usage
require 'googlestaticmap-clusters'
data = {:customers=>[{:lat=>-23.607581, :lon=>-46.630046,...},
{:lat=>-23.511634, :lon=>-46.71541,...},...],
:sellers => [{:lat=>-23.607551, :lon=>-46.630034,...},
{:lat=>-23.511644, :lon=>-46.71543,...},...]}
map = GoogleStaticMapClusters::Map.new({:zoom => 9})
map.add_layer(data[:customers])
map.add_layer(data[:sellers],{:style=>{:marker_color=>'red'}})
puts map.link
Options with default values
defaults = {
:sensor => false,
:map_width =>600,
:map_height => 600,
:style => {:marker_size => 'mid', :marker_color => 'blue'},
:zoom => 12,
:max_distance => 50, # distance for clustering
:outliers_distance => 700 # distance for cleaning outliers
}
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
to create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
- Fork it ( https://github.com/[my-github-username]/googlestaticmap-clusters/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request