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;