我有两个变量,<%= @user.lat %>
并且<%= @user.lng %>
这些变量会根据登录我的系统的用户而变化 - 这是用户在注册我的应用程序时提供的地址。
在一个scripts.js
文件中我一直在尝试定义它们,所以我的谷歌地图可以显示用户的纬度和经度。
但
function initialize_google_maps() {
var currentlatlng = new google.maps.LatLng(<%= @user.lat %>, <%= @user.lng %>);
等等等等不起作用,因为它无法理解我的 ruby 代码。
我尝试在 scripts.js 文件的顶部定义它们,例如:
var map_latitude = "<%= @user.lat %>";
var map_longitude = "<%= @user.lng %>";
然后使用:
function initialize_google_maps() {
var currentlatlng = new google.maps.LatLng(map_latitude, map_longitude);
但我了解到您不能将 ruby 放入 js 文件中。我确实尝试将其重命名为 scripts.js.erb,但这也不起作用。
<%= @user.lat %>
那么,我该如何定义<%= @user.lng %>
它们才能被我的 scripts.js 文件识别并显示在我的地图中?我确实在这里尝试了这个答案,创建了一个部分,但它对我不起作用。也许我做错了。
请注意:我不能简单地将脚本标签之间的代码和映射函数放在 html.erb 文件中,因为我使用了一些 ajax,事情变得一团糟—— ruby 变量需要被 js 文件识别。谢谢。