Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Google地图中添加标记-Ruby on Rails_Javascript_Google Maps_Google Geocoder - Fatal编程技术网

Javascript 在Google地图中添加标记-Ruby on Rails

Javascript 在Google地图中添加标记-Ruby on Rails,javascript,google-maps,google-geocoder,Javascript,Google Maps,Google Geocoder,请帮我解决这个问题。 我有一个存储谷歌地图(lat、lng)某些点的数据库,我想在谷歌地图中显示它们。 这是我的控制器 @location = SharedInfo.all 下面是视图中的javascript function DisplayTraficCir(loca) { for (var location in loca){ var myLatLng = new google.maps.LatLng(location.latitude,location.longitude) va

请帮我解决这个问题。
我有一个存储谷歌地图(lat、lng)某些点的数据库,我想在谷歌地图中显示它们。
这是我的控制器

@location = SharedInfo.all
下面是视图中的javascript

function DisplayTraficCir(loca) {
for (var location in loca){
  var myLatLng = new google.maps.LatLng(location.latitude,location.longitude)
  var marker = new google.maps.Marker({
    position: myLatLng,
    map: map
  });
}
// map.setCenter(location);
}
我通过以下方式调用此函数:

DisplayTraficCir(<%@location%>);
DisplayTraficCir();
我不知道为什么它不起作用。可能它根本不在“for”语句中执行代码块。

谢谢你的帮助

地图API不是Ruby API。这是一个JavaScript API

您可以这样调用JavaScript函数:

DisplayTraficCir(<%@location%>);
然后在Chrome developer tools打开的情况下加载页面,页面将在JavaScript调试器中的该行停止。然后您可以查看变量,查看浏览器看到的实际代码,逐行跟踪代码,以及诸如此类的好事情

在执行此操作时,请完全忘记Rails代码。在这一点上根本不相关。浏览器永远不会看到这些代码,它看到的只是Ruby代码生成的JavaScript


将此调试任务分为两个单独的部分,这样可以更容易地弄清楚发生了什么。

它是否以某种方式通过函数“DisplayTraficCir(…);”中的实例“@location”,Michael Geary?
@location
是Ruby代码。它不是JavaScript。在调试JavaScript时忘记Ruby代码,而是查看浏览器看到的实际JavaScript代码。您在浏览器中找不到
@location
,至少您不应该这样做。下载到浏览器的JavaScript代码是唯一重要的,而不是生成它的Ruby代码。您可以使用Chrome或其他浏览器中的开发人员工具来检查此JavaScript代码。
debugger;