簡體   English   中英

使用Ruby on Rails設置Leaflet

[英]Setting up Leaflet with Ruby on Rails

我正在嘗試在我的rails應用程序中正確設置傳單,我遇到了一些麻煩。 我按照這里列出的步驟Github Leaflet Repo 我已經在頂部做了一些微不足道的事情,現在正在Headers標題下。

我正在使用OpenStreetMaps,所以我的leaflet.rb文件看起來像這樣。 (我必須自己創建這個文件,因為它還不存在)

Leaflet.tile_layer = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'
Leaflet.attribution = '&copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>'
Leaflet.max_zoom = 18

現在,我正在嘗試插入傳單地圖的視圖當前看起來像這樣。

<% provide(:title, 'Map') %>
<h1>Map</h1>
<div id="map"><%

    map(:center => {
    :latlng => [51.52238797921441, -0.08366235665359283],
    :zoom => 18
    })

%>
</div>
<p>Find me in app/views/dynamic_pages/map.html.erb</p>

當我啟動我的rails服務器時,div中只有空格,即沒有地圖。 在我的css文件中設置div的高度為500px,如果這有任何區別,我認為它沒有。

我在這做錯了什么?

我相信你現在已經知道了......但萬一其他人被卡住了。 單張-Rails文檔遺漏了這是如何發生的細節,但地圖助手在視圖中使用。 它必須在<%= %>標簽中才能顯示; 上面的問題是erb標簽缺少=它應該是這樣的,

<div id="map">
  <%=
    map(:center => {
      :latlng => [51.52238797921441, -0.08366235665359283],
      :zoom => 18
    })
  %>
</div>

作為旁注, = erb標記中的=告訴解釋器以下代碼是一個表達式,意味着作為字符串返回到文檔。 沒有=像這個<% %>將評估代碼,但不會嘗試返回它。 有關更多內容,請參閱博客文章。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM