How to do an Ajax GET request to get data from rails and pass it to javascript(google maps)?
ajax, google-maps-api-3, javascript, ruby-on-rails, ruby-on-rails-3.2
Solution
Oh I was able to find my way to get the list of locations. The controller and view are left untouched.
I added the following ajax in map.js which did the work for me.
$.ajax({
type: "GET",
dataType: "json",
url: "/locations",
success: function(data){}
});
Now data can be passed to the marker object in google maps.
Problem
I have a model Locations with two columns latitude and longitude. I want to find a way where I can get the list of locations and pass them to google maps using Ajax and javascript. So far my code is as follows: map.js: ``` function initialize() { var map; var latlng = new google.maps.LatLng(37.09, -95.71); var options = { zoom: 5, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP, disableDefaultUI: true, disableDoubleClickZoom: true, noClear: true, navigationControl: true, navigationControlOptions: { position: google.maps.ControlPosition.TOP_RIGHT } }; map = new google.maps.Map(document.getElementById('map'), options); var marker = new google.maps.Marker({ position: latlng, map: map, title: 'Click me', }); } ``` locations_controller.rb ``` def show @location = Location.find(params[:id]) respond_to do |format| format.html # show.html.erb format.json { render json: @location } end end ``` Page displaying the map: ``` <div id="map" onload="initialize();"> </div> ``` SO now I want to find a way to make an AJAX request from map.js so I can get the locations from the Location model and pass it to the marker object so that when a map is loading all the locations pre-existing in the database are passed to marker and those markers appear. Thank you.