Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

gmaps4rails

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gmaps4rails

  • 2.1.2
  • Rubygems
  • Socket score

Version published
Maintainers
2
Created
Source

== Google Maps for Rails {Endorse}[https://pledgie.com/campaigns/23367]

{Build Status}[http://travis-ci.org/apneadiving/Google-Maps-for-Rails] {}[https://codeclimate.com/github/apneadiving/Google-Maps-for-Rails] {Gem Version}[http://badge.fury.io/rb/gmaps4rails] {Endorse}[http://coderwall.com/apneadiving] {Bitdeli Badge}[https://bitdeli.com/free]

Gmaps4rails is developed to simply create a Google Map with overlays (markers, infowindows...). Yet it's backed on a very flexible codebase which could be prone to accept other map providers.

Use it with any Ruby app (I guess you could simply take the js anywhere if you like).

Here is a {quick tutorial on youtube}[http://www.youtube.com/watch?v=R0l-7en3dUw&feature=youtu.be], and my {presentation on speaker deck}[https://speakerdeck.com/apneadiving/gmaps4rails].

For live examples, {see here}[http://apneadiving.github.io/].

== A note for < 2.x users

Google-Maps-for-Rails-2.0 is an important rewrite to keep the minimum code and features. If you're migrating from previous versions, you may want to read the {rational about it}[https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Why-but-why%3F].

== Requirements

  1. Gemfile

    gem 'gmaps4rails'

  2. HTML

Add a div to bear your map, example:

<div style='width: 800px;'>
  <div id="map" style='width: 800px; height: 400px;'></div>
</div>

2) Javascript Dependencies:

Insert google scripts in your dom:

<script src="//maps.google.com/maps/api/js?v=3.13&amp;sensor=false&amp;libraries=geometry" type="text/javascript"></script>
<script src='//google-maps-utility-library-v3.googlecode.com/svn/tags/markerclustererplus/2.0.14/src/markerclusterer_packed.js' type='text/javascript'></script>

You'll require underscore.js too, see here: {http://underscorejs.org/}[http://underscorejs.org/] (lo-dash is compatible too, your choice!).

  1. Javascript source code

If you have the asset pipeline, add this:

//= require underscore
//= require gmaps/google

If you don't have asset pipeline, you'll need to import the js OR coffee files:

rails g gmaps4rails:copy_js

rails g gmaps4rails:copy_coffee

4) Javascript code:

Create your map:

handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
  markers = handler.addMarkers([
    {
      "lat": 0,
      "lng": 0,
      "picture": {
        "url": "https://addons.cdn.mozilla.net/img/uploads/addon_icons/13/13028-64.png",
        "width":  36,
        "height": 36
      },
      "infowindow": "hello!"
    }
  ]);
  handler.bounds.extendWith(markers);
  handler.fitMapToBounds();
});

== Generating JSON

In your controller:

@users = User.all
@hash = Gmaps4rails.build_markers(@users) do |user, marker|
  marker.lat user.latitude
  marker.lng user.longitude
end

In your view:

markers = handler.addMarkers(<%=raw @hash.to_json %>);

== Easily customizable

You can change almost everything with a few lines of code. {See details here}[https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Change-handler-behavior]

== Options

== Todo?

Feel free to contact us, you have your say.

== Copyright MIT license.

Author: Benjamin Roth

{Contributors}[https://github.com/apneadiving/Google-Maps-for-Rails/graphs/contributors]

FAQs

Package last updated on 17 Feb 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc