Google maps api 3 Rails视图中不引人注目的GoogleMapsAPI Javascript

Google maps api 3 Rails视图中不引人注目的GoogleMapsAPI Javascript,google-maps-api-3,ruby-on-rails-3.2,coffeescript,unobtrusive-javascript,Google Maps Api 3,Ruby On Rails 3.2,Coffeescript,Unobtrusive Javascript,我的app/views/people/show.html.erb中有这个javascript代码。它使用谷歌地图api v3。但问题是,这是非常突出的。我想要的是,我希望js代码在coffeescript中。我应该仍然能够传递经度/纬度值,以便在地图中反映它们 <% unless @person.addresses.blank? %> <script type="text/javascript" src="http://maps.google.com/maps/api/js

我的app/views/people/show.html.erb中有这个javascript代码。它使用谷歌地图api v3。但问题是,这是非常突出的。我想要的是,我希望js代码在coffeescript中。我应该仍然能够传递经度/纬度值,以便在地图中反映它们

<% unless @person.addresses.blank? %>
  <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
  <script type="text/javascript">
    function initialize() {

      <%
        if @person.addresses.first.latitude.blank? && @person.addresses.first.longitude.blank?
          lat_long = @person.organization.latitude_longitude
        else
          address = @person.addresses.first
          lat_long = [address.latitude, address.longitude] 
        end

        lat = lat_long[0]
        long = lat_long[1]
      %>

      var myLatlng = new google.maps.LatLng(<%= lat %>, <%= long %>);
      var mapOptions = {
        zoom: 17,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      }
      var map = new google.maps.Map(document.getElementById('map_canvas_show'), mapOptions);

      var marker = new google.maps.Marker({
          position: myLatlng,
          map: map,
          title: 'Hello World!'
      });
    }
  google.maps.event.addDomListener(window, 'load', initialize);
  </script>

  <div id="map_canvas_show"></div>

<% end %>

<h1>
  <%= @person.name %> <small><%= link_to(t('general.edit'), edit_person_path(@person)) %></small>
</h1>

<h3>
  <%= @person.organization_names(current_organization) %>
</h3>

<div>
  <%#= image_tag @person.fb_profile_pic_large %>
</div>

<div class="sfield field_group">
  <div class="ls"><%= t('.addresses')%></div>
  <% @person.addresses.each do |address| %>
    <div class="rs"><%= address.address %></div>
  <% end %>
</div>

<div class="sfield field_group">
  <div class="ls"><%= t('.phone_numbers')%></div>
  <% @person.phone_numbers.each do |phone_number| %>
    <div class="rs field_group"><%= phone_number.phone_number %></div>
  <% end %>
</div>

<div class="sfield field_group">
  <div class="ls"><%= t('.offices')%></div>
  <% @person.office_names.each do |office_name| %>
    <div class="rs"><%= office_name %></div>
  <% end %>
</div>

函数初始化(){
var mylatng=newgoogle.maps.LatLng(,);
变量映射选项={
缩放:17,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var map=new google.maps.map(document.getElementById('map\u canvas\u show'),mapOptions);
var marker=new google.maps.marker({
职位:myLatlng,
地图:地图,
标题:“你好,世界!”
});
}
google.maps.event.addDomListener(窗口“加载”,初始化);
您可以使用它。另请参见导轨的安装指南

<div id="map_canvas_show" data-lat="<%= lat %>" 
                          data-long="<%= long %>" />
你可以用这个。另请参见导轨的安装指南

<div id="map_canvas_show" data-lat="<%= lat %>" 
                          data-long="<%= long %>" />