Jngai1297
Jngai1297

Reputation: 2495

Gmaps4Rails Google Map Interaction Nearest Location Feature Unfamiliar with Google Maps API

Currently I am building a rails application using the gmaps4rails gem. I have only been working on this for ten days,

http://greenearth.herokuapp.com/

I apologize I only have one dyne up so it may be quite slow on heroku.

I understand that the gem interacts with google js api v3 for me. Basicly I am making an rails application where I want to display trash bins locations on a google map. I have a table with an address as a column in the table, the gem allows me to take the address column and spit out markers on a map. I have to query all the address, translate them to json with a method provided by the gem (and its added to my model), then bring it out to my view. It will generate the required javascript.

I am quite tempted to switch to the geocoder gem because its a lot better documented. This gem just isn't well documented. I can't find questions on stackoverflow related to this gem.

My next step is to add a feature, where anybody can put in their most immediate address on a form and the map (google api) will calculate which of my trash bin location is nearest to this input address.

The gem's wiki is not well documented. I am not quite well versed with the google map api. In the mean time can someone point me to the correct tutorial? or the right direction?

Upvotes: 0

Views: 1375

Answers (2)

user2514224
user2514224

Reputation: 197

OK so after looking at the different gems I would recommend using both geocoder and gmaps4rails to achieve what you want. I would recommend gmaps4rails for the map rendering and marker addition and to use Geocoder for the distance calculations. Unfortunately neither gem is fully comprehensive in these features.

There is a good railscast on how to display nearby locations via a form using geocoder: http://www.youtube.com/watch?v=mUvGAcaW3bA

The method in geocoder is simply:

@address.nearbys(20)

Where '20' is a radius within which results will be displayed based on your other entries. Alternatively you could grab the user's current location using:

request.ip / request.location 

Declare this as a variable then display nearby bins results in the show view (covered in rails cast). Just note that current location will not work in test/dev environment because of the webrick address as it says on the gem's homepage.

Hope that helps!

Upvotes: 0

user2514224
user2514224

Reputation: 197

After looking into it a bit more it seems the developer (apneadiving) is actually quite active, just not in the same place, see these guides on features: http://www.youtube.com/watch?v=Yg5-33zedqM

There is a second video as well.

Looking into it further I can't see a method in the documentation that calculates distance.

I recommend trying this tutorial:

http://briancray.com/posts/how-to-calculate-the-distance-between-two-addresses-with-javascript-and-google-maps-api

Or just following the Distance Matrix service from Google.

I haven't tried to use these alongside the gem so you may have to change the code based on existing variables. It should* be easier because you have addresses and Lats/longs saved already.

Also have you set the App to initally geolocate the user?

I'm working on a similar issue myself so will update when I get there.

Upvotes: 2

Related Questions