簡體   English   中英

地圖,rails 4.2,javascript,鼠標懸停,只能工作一次(或兩次)..然后重新加載

[英]maps, rails 4.2, javascript, mouse-over, only working once (or twice) .. then after reload

我在rails 4.2上做了一張地圖。 Javascript添加引腳,以及鼠標懸停時的一些信息,就像這樣;

marker = new google.maps.Marker({
          position: position,
          map: map,
          title: "title_x",

..另外,我為每個標記添加了一個信息窗口,如下所示:

google.maps.event.addListener(marker, 'click', (function(marker, i) {
  return function() {    infoWindow.setContent("contentx");                         
infowindow.open(map, marker.serviceObject);}
})(marker, i));

問題1:當我對引腳進行'鼠標懸停'時,它會向我顯示標題。 那很好。 但是,它只做了一兩次或三次 - 然后什么都沒有。 重新加載頁面時,或 - 打開另一個選項卡,或者在返回另一個程序(更改窗口)后 - 再次使用一次或兩次。

問題2:信息窗口根本沒有打開,比如說,當我“點擊”銷釘時,沒有任何反應。

  • 不確定這些是同樣的問題還是兩個問題。

在SO中閱讀了很多答案,我嘗試了這些東西,但沒有改變。

a /刪除application.js中的turbolinks-line
另外:添加:data-no-turbolink(進入導航鏈接,進入包含地圖的div)

b /在'main'javascript文件中:$(document).on('ready page:load',function(){loadScript();});

c /在此文件中顯示地圖):

<script type="text/javascript">
$(document).on('ready page:load', function () {initialize();}); // ADDED
  window.nearbys= <%=raw @myparams.to_json %>; 
  google.maps.event.addDomListener(window, 'load', initialize);
</script>

當我添加線(ADDED)時,至少它顯示了地圖和引腳(之前,沒有反應)。 即便對我而言,執行相同指令的次數是兩倍 - 無論如何,它都有效。

這樣,我的問題: - 我能讀到的東西似乎是人們禁用了渦輪 - 我做了,沒有變化。 - 而且,似乎重新加載后會執行一次某些事情(對我來說,它發生了幾次?但這可能取決於其他問題?)

對於任何鏈接(除了我上面嘗試和描述的解決方案),我會很高興。 另外,我很樂意不使用turbolinks。

謝謝

所以發現了一些有用的東西。

發出一個/,未更新的標題標題:有一篇SO文章,說:如果在Firefox上工作則會出現問題。 最新的Google API存在錯誤。 據說可以使用3.16,但不再支持該API。 - 沒問題,所以使用Chrome或IE - 它工作:鼠標懸停一個引腳,並顯示標題(第一個,第二個..只是鼠標懸停的任何時候)。

問題b /不工作infowindow:這個代碼非常簡單

@users = User.all
@hash = Gmaps4rails.build_markers(@users) do |user, marker|
  marker.lat user.latitude
  marker.lng user.longitude
  marker.title = "title" // ADDED
  marker.infowindow = "iw" // ADDED
end

https://github.com/apneadiving/Google-Maps-for-Rails所示,並且在其所有組件(模型,視圖,控件和JS)中非常清晰可見: https//github.com/JonKernPA / gmaps (只看到代碼,沒有嘗試它b / c不同的ruby版本和任何問題..但遵循代碼示例) - 並添加(添加)標題,infowindow - 它只是按照它應該的工作。

甚至更好:))發出一個/似乎被它“治愈”:(根據用戶的行為,實際上,通常情況下我認為):用戶習慣於“點擊”到引腳上,並顯示信息窗口。 這似乎激發了Firefox中的JS / load / page-refresh(無論是什么)。 那就是 - 下一個鼠標懸停(顯示標題)將起作用。 好玩,不是嗎

感謝gmap4rails的創造者,這是件好事。

暫無
暫無

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

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