【发布时间】:2011-10-01 02:21:14
【问题描述】:
我有一个页面,允许用户使用谷歌地图 API 搜索他们的位置,我希望能够搜索我存储在我的数据库中的靠近搜索位置的地方。
那么我怎样才能即时查询数据库并更新谷歌地图呢?
到目前为止,这是我的地理编码代码:
function codeAddress(address) {
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
latLng = results[0].geometry.location;
map.setCenter(results[0].geometry.location);
result=results[0].address_components;
var info=[];
for(var i=0;i<result.length;++i)
{
if(result[i].types[0]=="administrative_area_level_1"){state = i.long_name; }
if(result[i].types[0]=="locality"){city = i.long_name;}
}
......
那么我如何获取这些城市和州变量并将它们传递给我的控制器以查找记录?
编辑 - 我根本没有在这个页面上使用 jquery,谷歌地图 API 是纯 ol' javascript。
我的 AJAX 知识为零,而 JavaScript 知识却非常少。
如果我有以下变量:var state ="MD" 和 var City = "Bethesda"
到目前为止,我的控制器是:
def shops
@maps = Map.where("state LIKE ?", "%#{params[:state]}%" and "city LIKE ?", "%#{params[:city]}%")
end
然后我必须取回该数组并循环显示它。
而且我不知道如何做到这一点,我已经看到了许多使用 rails 的 AJAX 示例,但到目前为止没有什么特别有用的......
【问题讨论】:
-
如果您通过浏览器访问您的应用程序,数据库将在服务器上,您可以通过 AJAX 调用访问它。
-
是的,我完全不知道该怎么做。你知道有什么好的教程吗?
标签: javascript ruby-on-rails ruby-on-rails-3 google-maps