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:
我有一个模型位置,有两列纬度和经度。我想找到一种方法,我可以获取位置列表,并使用Ajax和javascript将它们传递给谷歌地图。到目前为止,我的代码如下:
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.
所以现在我想找到一种从map.js发出AJAX请求的方法,这样我就可以从Location模型中获取位置并将其传递给marker对象,这样当map加载数据库中预先存在的所有位置时被传递给标记并出现那些标记。
Thank you.
1 个解决方案
#1
7
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.
我在map.js中添加了以下ajax,它为我做了工作。
$.ajax({
type: "GET",
dataType: "json",
url: "/locations",
success: function(data){}
});
Now data can be passed to the marker object in google maps.
现在,数据可以传递到谷歌地图中的标记对象。
#1
7
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.
我在map.js中添加了以下ajax,它为我做了工作。
$.ajax({
type: "GET",
dataType: "json",
url: "/locations",
success: function(data){}
});
Now data can be passed to the marker object in google maps.
现在,数据可以传递到谷歌地图中的标记对象。