gpt4 book ai didi

javascript - 向/从 JavaScript 和 Rails 传递参数

转载 作者:数据小太阳 更新时间:2023-10-29 05:53:10 26 4
gpt4 key购买 nike

在我的 Rails 应用程序中,我有一个辅助方法 location,它获取给定 IP 地址的坐标,并使它们在所有 Controller 和 View 中可用。例如 location.latitude 返回用户的纬度。你明白了。

我还有一些 Javascript,它根据给定的纬度/经度对从 Google Maps API 绘制 map 。问题是我不知道如何将 location 参数传递给 JavaScript!

JavaScript 位于“application.js”中,如下所示:

$(document).ready(function() 
{

//Map options...I want the params to go into the var 'MapOptions' below

function initialize() {
var mapOptions = {
center: new google.maps.LatLng(40.764698,-73.978972),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
};

//Setup and Draw the Map...
//....................................
};

map 本身在 HTML 中是这样调用的。没有明显的方法来传递参数。

<div id="map_canvas">
<!-- The Map gets drawn here! -->
</div>

我知道这可能是一个显而易见的问题,但我以前从未需要以这种方式将参数从我的应用程序传递到 Javascript。

最佳答案

我认为data attributes在这里工作得很好。

html

<div id="map_canvas" data-latitude="40.764698" data-longitude="-73.978972">
<!-- The Map gets drawn here! -->
</div>

或与你的助手

<div id="map_canvas" data-latitude="<%= location.latitude %>" data-longitude="<%= location.longitude %>">
<!-- The Map gets drawn here! -->
</div>

js

$(document).ready(function() { 

//Map options...I want the params to go into the var 'MapOptions' below

function initialize() {
var mapDiv = $('#map_canvas');
var lat = mapDiv.data('latitude'),
lng = mapDiv.data('longitude');

var mapOptions = {
center: new google.maps.LatLng(lat,lng),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
};

//Setup and Draw the Map...
//....................................
};

关于javascript - 向/从 JavaScript 和 Rails 传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8272147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com