Google Map v3,MarkerClusterer& Chrome上的jQuery无法正常运行

时间:2011-05-21 13:06:42

标签: jquery google-maps markerclusterer

固定:见下文

确定。所以这是我的应用程序。

http://libwiki.heroku.com/libraries

如果您使用Firefox或Safari查看它,它会正确显示。目标是在Google地图上显示澳大利亚的图书馆列表。我还在其上放置了“MarkerClusterer”插件,以便将标记聚集在一起。

但是,当我在Chrome中查看网站时,标记未显示。

所以在查看代码后,我发现Chrome没有正确响应。这是片段。

function get_libraries()
{
  if( markerCluster != null ) { 
    markerCluster.clearMarkers(); 
  }

  get_boundaries();
  $.post( "/get_libs", { top_lat:top, right_long:right, 
                         bottom_lat:bottom, left_long:left },
                         function(data)
                         {
                           alert('hello??');
                         }
  );
}

在get_boundaries()方法中,我抓住了地图的边界,我将其传递给我的一个rails动作,这样我就只能获得给定边界内的库。

反正。 Safari中警告“hello”消息正确显示,但在Chrome中没有消息。

为什么会这样?我还需要做些什么来迎合Chrome?

我已经完成了搜索并在此处找到了类似的问题(http://stackoverflow.com/questions/4086837/markerclusterer-not-working-only-in-webkit-chrome-and-safari-fine-in -firefox),我应用了这个建议,但没有成功。

编辑 -

确定。我试过了特罗特的建议,但无济于事。我只是在Firefox和Chrome之间比较了Rails控制台的输出。

在Firefox上,我得到类似下面的内容

++++++++++++++++++++++++++++++++ 在2011-05-23 20:42:30 +1000开始获取127.0.0.1的GET“/ libraries”   由LibrariesController处理#index为HTML 渲染库/ _header.rhtml(0.7ms) 渲染库/ _footer.rhtml(0.3ms) 在布局/库中渲染库/ index.html.erb(5.7ms) 在9ms完成200 OK(浏览次数:8.2ms | ActiveRecord:0.0ms)

在2011-05-23 20:42:31 +1000开始为127.0.0.1发布“/ get_libs”   由LibrariesController处理#get_libs as   参数:{“top_lat”=>“ - 3.8857201725875936”,“right_long”=>“159.3671875”,“bottom_lat”=>“ - 46.20993271642981”,“left_long”=>“106.6328125”}   库加载(1238.5ms)SELECT“libraries”。* FROM“libraries”WHERE(纬度< -3.8857201725875936 AND latitude> -46.20993271642981 AND((经度> 106.6328125 AND经度< 159.3671875)OR(经度> 106.6328125 AND经度> 159.3671875 AND经度> 0和106.6328125> 159.3671875)OR(经度< 106.6328125 AND经度< 159.3671875 AND经度< 0和106.6328125> 159.3671875))) ++++++++++++++++++++++++++++++++

我猜上面的重点是在FF上,正在执行jQuery“post”方法。但是,当我去Chrome时,我只能到达下方。

++++++++++++++++++++++++++++++++ 在2011-05-23 20:35:44 +1000开始获取127.0.0.1的GET“/ libraries”   由LibrariesController处理#index为HTML 渲染库/ _header.rhtml(25.9ms) 渲染库/ _footer.rhtml(0.3ms) 在布局/库中渲染库/ index.html.erb(59.1ms) 在90ms完成200 OK(浏览次数:89.1ms | ActiveRecord:0.0ms) ++++++++++++++++++++++++++++++++

为什么Chrome没有执行我的jQuery“帖子”?

3 个答案:

答案 0 :(得分:1)

当我转到你为应​​用程序提供的链接时,从我在控制台中看到的内容来判断,你会被一个可以提出jQuery的Rails 3问题所困扰。请在http://www.justinball.com/2011/03/11/get-jquery-working-with-ruby-on-rails-3/了解相关信息。

根据该页面,解决方案是:

  

事实证明,因为我使用jQuery I   需要获取rails.js文件   jQuery的。有一个包裹它的宝石   起来:

     

https://github.com/rails/jquery-ujs

     

你也可以获得javascript   并将其转储到rails.js中:   https://github.com/rails/jquery-ujs/raw/master/src/rails.js

答案 1 :(得分:0)

固定:嗯。这完全出乎意料。无论如何。我使用关键字“top”,“left”,“right”和“bottom”作为变量名称。看起来Chrome不喜欢这个。这是因为还有其他与Chrome冲突的JS文件?我试着做一些搜索,但找不到任何东西。但无论如何,到目前为止,我将变量名称更改为“top_bound”,“left_bound”等。现在它的行为与我期望的一样。

答案 2 :(得分:0)

确定。这里是。 Chrome中严格禁止使用某些Javascript保留字。

http://www.quackit.com/javascript/javascript_reserved_words.cfm