0

我有一个轨3.1应用在主页(RHTML文件)这个简单的代码,的Rails 3和谷歌地图API V3不兼容性

  • 如果我运行在一个HTML相同的代码文件,它的工作原理。
  • 如果我在我的rails应用程序中运行它,它不会我没有使用萤火虫发生任何错误。

另外:我有jquery-rails宝石。 可能是什么问题?

 <script type="text/javascript" 
     src="http://maps.googleapis.com/maps/api/js?sensor=false"> 
    </script> 

    <script> 
    jQuery(document).ready(function() { 
     init(); 
    }); 
    </script> 

    <script type="text/javascript"> 
     function init() { 
     var latlng = new google.maps.LatLng(-34.397, 150.644); 
     var myOptions = { 
     zoom: 8, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 
     var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
     } 
    </script> 

然后我有我的div:

<div id="home"> 
     <div style="width:100%;height:400px" id="map_canvas"></div> 
    </div> 

这个CSS:

#home #map_canvas { 
    width: 100%; 
    height: 400px; 
    position: relative; 
    left: 0px;  
} 
+0

其他信息: 我只看到地图一会儿就消失了。 – Andrea

回答

1

听起来像其他一些JS和/或CSS这是相互矛盾的。

PS:不确定为什么要在CSS声明中指定样式宽度和高度。只需要其中一个,虽然没有重复的伤害。

+0

邓肯是对的,我想。发生的事情是另一个div由于CSS而覆盖它(这就是为什么你看到它出现然后消失)。通过暂时从CSS文件中删除#map_canvas来查找问题并执行检查元素/查看源代码以查看地图区域是否显示在您的代码中(它应该),尝试没有任何CSS。 – jschorr

+0

谢谢,但行为不会改变(我试图删除CSS ** **)。轨道能做错事吗? – Andrea

+0

所以当你禁用CSS时,你看到地图还是闪烁然后消失? – duncan