当前位置: 首页 > 面试题库 >

如何执行Ajax GET请求以从Rails获取数据并将其传递给javascript(Google地图)?

汤承德
2023-03-14
问题内容

我有一个模型位置,其中有两列经度和纬度。我想找到一种获取位置列表并将其传递给使用Ajax和javascript的google地图的方法。到目前为止,我的代码如下:

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

显示地图的页面:

<div id="map" onload="initialize();">
</div>

所以现在我想找到一种从map.js发出AJAX请求的方法,这样我就可以从Location模型中获取位置并将其传递给标记对象,以便当地图加载数据库中所有预先存在的位置时被传递给标记,这些标记就会出现。

谢谢。


问题答案:

哦,我找到了要获取位置列表的方法。控制器和视图保持不变。

我在map.js中添加了以下ajax,它为我完成了工作。

$.ajax({
        type: "GET",
        dataType: "json",
        url: "/locations",
        success: function(data){}
    });

现在可以将数据传递到Google地图中的标记对象。



 类似资料:
  • 我正在尝试反应表,对反应一般是很新的。现在,在下面的代码中,一个本地JSON(mock_data.JSON)被传递到常量数据中。我想用从URL获取的数据替换本地JSON。我怎么能那样做?谢谢:)

  • 的语法是 获取(url,配置)

  • 我正在使用SoundCloud api创建一个应用程序,并尝试附加用户输入的字符串值,但它在界面中显示为null,我如何在url中附加该值? MainActivity.java SCService.java 搜索的字符串在我的SoundCloud.java类 我想在GET参数中附加那个SCURL字符串,但它显示了SCURL的null值,我如何实现这一点? 更新:我如上所述更改了代码,但出现了此错误

  • 问题内容: 我们可以使用get本地时区名称,但该名称与不兼容。 实际上,返回的名称是不明确的。此方法在我的系统中返回,但是“ CST”可以指示四个时区: 中部时区(北美)-在北美中部时区观察 中国标准时间 中原标准时间-台湾现在很少使用“中原标准时间”一词 澳大利亚中央标准时间(ACST) 问题答案: 解决此问题的一种非常简单的方法: 更新 :@MartijnPieters说“这不适用于DST /

  • 问题内容: 从列表中提取项目并将其作为参数传递给函数调用的一种好而简短的方法是什么,例如下面的示例? 例: 问题答案: 您可以使用星号将元组或列表解压缩为位置参数。 同样,您可以使用双星号将字典分解成关键字参数。

  • 我有一个用于生成数据库的sql脚本,我希望当我按下register按钮时,它调用sql脚本,但在将关于如何调用数据库的数据传递给sql脚本之前。 有些是这样的: make_db($NAME_DB);