문제

iRB 파일을 HAML로 변환하려고합니다.나는 문자열이 내 코드의 대부분을 보간 할 수 있지만 JavaScript 전단지 함수, L.Polygon () ( http://leafletjs.com/reference.html#polygon ) 만 숫자 만 허용합니다. 다음은 내 ERB 코드가 있습니다 :

<h1>MAP!</h1>
<ul>
<li>Start: <%= @start %></li>
<li>End: <%= @end %></li>
</ul>
<div id="map"></div>
<script type="text/javascript" charset="utf-8">
  var map = L.map('map').setView([40.7142, -74.0064], 13);
  L.tileLayer('http://tile.stamen.com/toner/{z}/{x}/{y}.png', {attribution: 'Stamen Toner'}, {
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>',
    maxZoom: 18
  }).addTo(map);
  L.marker(<%= @start %>).addTo(map);
  L.marker(<%= @end %>).addTo(map);
  L.polygon([
    <%= @start %>,
    <%= @end %>
]).addTo(map);
</script>
.

여기에 꽤 작동하지 않는 HAML 코드가 없습니다 :

%h1 MAP!
%ul
  %li
    Start: #{@start}
  %li
    End: #{@end}
#map
%script{charset: "utf-8", type: "text/javascript"}
  var map = L.map('map').setView([40.7142, -74.0064], 13);
  L.tileLayer('http://tile.stamen.com/toner/{z}/{x}/{y}.png', {attribution: 'Stamen Toner'}, {
  attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>',maxZoom: 18}).addTo(map);
  L.marker(#{@start}).addTo(map);
  L.marker(#{@end}).addTo(map);
  L.polygon([#{@start},#{@end}]).addTo(map);
.

도움이 되었습니까?

해결책

parseInt를 사용해보십시오 :

L.polygon([parseInt(#{@start}),parseInt(#{@end})]).addTo(map);
.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top