簡體   English   中英

Google Maps腳本僅在我第一次打開頁面時加載

[英]Google Maps script only loads the first time I open page

在完成本教程之后,我將google maps組件添加到了Rails 4項目中。 現在,當我在瀏覽器中打開頁面時(地圖位於着陸/索引頁面上),地圖顯示出來,但是當我使用導航來回移動並回來時,地圖不在那里。 我是Rails的新手,不知道如何解決它,或者為什么會發生。 控制台中沒有錯誤。

這是我正在談論的頁面的html:

<script>
function initialize() {
var mapOptions = {
    zoom: 16,
    center: new google.maps.LatLng(46.04236, 14.48786)
  };

  var map = new google.maps.Map(document.getElementById('googleMap'),
      mapOptions);
}

function loadScript() {
  var script = document.createElement('script');
  script.type = 'text/javascript';
  script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp' +
      '&signed_in=true&callback=initialize';
  document.body.appendChild(script);
}

window.onload = loadScript;
</script>

<div class="col-xs-12 ">
    <div class="panel panel-default">
        <div class="panel-heading center">
            <h3 class="panel-title">Lokacija</h3>
        </div>
        <div class="panel-body">
            <div class="col-xs-6 center">
                <br />
                <br />
                <br/ >
                <br />
                <p>Institut Jožef Stefan</p>
                <p>Knjižnica</p>
                <p>Jamova 39</p>
                <p>1000 Ljubljana</p>
                <br />
            </div>
            <div class="col-xs-6">
            <div id="googleMap"></div>
            </div>              
        </div>
        <div class="panel-heading center">
            <h3 class="panel-title">Telefonske številke</h3>
        </div>
        <div class="panel-body">
            <div class="col-xs-6">
                <p>informacije:</p>
                <p>izposoja:</p>
                <p>bibliografije:</p>
                <p>vodja knjižnice:</p>
                <p>fax:</p>                                             
            </div>
            <div class="col-xs-6 right">
                <p>+386 1 477-3304</p>
                <p>+386 1 477-3304</p>
                <p>+386 1 477-3247</p>
                <p>+386 1 477-3258</p>
                <p>+386 1 477-3152</p>
            </div>
        </div>
        <div class="panel-heading center">
            <h3 class="panel-title">Delovni Čas</h3>
        </div>
        <div class="panel-body">
            <div class="col-xs-6">
                <p>ponedeljek-četrtek:</p>
                <p>petek:</p>
            </div>
            <div class="col-xs-6 right">
                <p>8.00-19.00</p>
                <p>8.00-17.00</p>
            </div>
        </div>
        <div class="panel-heading center">
            <h3 class="panel-title linktext"><%= link_to 'Cenik', zic_cenik_path %></h3>
        </div>

    </div>
</div>

與gmaps相關的所有內容都在這里。 如果您需要更多信息,請告訴我,我將編輯主要帖子。 我也有整個頁面的gitHub回購。 此處的相關視圖為zic / index。

我遇到了同樣的問題,可以通過以下方法解決此問題,而不必禁用渦輪鏈接:

google.maps.event.addDomListener(document, 'page:change', initialize);

聽起來問題是您已打開Turbolink,並且當您導航離開然后返回時,該頁面實際上沒有收到加載消息。 您可以關閉Turbolinks,將google maps腳本標簽添加到應用程序布局文件的標題中,或者嘗試使用“ page:changed”事件重新加載它。 可以在以下位置找到有關Turbolink的更多信息: http : //guides.rubyonrails.org/working_with_javascript_in_rails.html#turbolinks

暫無
暫無

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

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