带有Perl的Javascript Forloop不适用于Google Maps API来创建标记
Javascript Forloop withing Perl Not Working for Google Maps API to create Markers
我是perl和javascript的新手,正在尝试让javascript for循环通过perl数组运行,以将标记插入谷歌地图实例。创建映射并运行for循环,但插入了5个相同的标记,因为循环似乎没有正确运行。有没有更好的方法可以用javascript访问这个数组?
@latlongarray = (0,0,20,20);
$length = @latlongarray;
{
print <<HTML;
<html>
<head>
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?&sensor=true">
</script>
<script type="text/javascript">
var map ;
function initialize() {
var latlng = new google.maps.LatLng(0,0);
var myOptions = {
zoom: 2,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP // can be SATELLITE ,HYBRID, ROADMAP or TERRAIN
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
{
var i;
for (i=0;i<=8;i=i+2)
{
var marker = add_marker($latlongarray[i],$latlongarray[i]);
marker.setMap(map);
}
}
}
</script>
<script type="text/javascript">
function add_marker(lat,lng,title,box_html) {
var infowindow = new google.maps.InfoWindow({
content: box_html
});
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: map,
title: title
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
return marker;
}
</script>
<title>Reverse IP Lookup & Locate</title>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width:80%; height:80%"></div>
</body>
HTML
exit;
}
Perl是服务器端。它在您的Javascript之前执行。Perl只输出HTML和Javascript,一旦输出,HTML和Javascript就不知道您的Perl变量。
您可以在Perl中生成一个循环,输出适当的add_marker()
Javascript代码,也可以输出一个Javascript数组,然后像现在这样使用Javascript循环。您将永远无法从Javascript循环中引用Perl的数组索引。
正如Cbreak所指出的,您正在混淆Perl和Javascript代码。我最近在这篇文章中回答了一个非常相似的问题
相关文章:
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 使用Google Maps API向标记添加多个字符
- Google Maps API OverlayView()在AngularJS指令中不起作用
- 使用Google Maps API驱动时间多边形
- 使用Google Maps JavaScript API v3和Geocoding API映射多个位置
- 可扩展的画布作为Google Maps Javascript API中的覆盖
- 在自动完成中使用Google Maps Places API;API不工作
- 如何在Maps API v3.中更改多段线的路径
- 根据PHP中数组的长度在Google Maps API中循环遍历标记
- 加载Google MAPS API v3的JSON数据
- Javascript:Google Maps API:如果地图加载在隐藏容器中,则为空白地图
- 如何在Ionic/Codova应用程序中保护我的Google Maps Javascript V3 API密钥
- 来自JSON数组的Google Maps API生成器
- Google Maps JavaScript API v3:getDetails(请求,回调),用于多个位置
- "现代的“;在Google Maps JS API v3上使用字母标记
- Rails Google maps javascript api v3 setIcon() url 無法定位圖片
- JavaScript 的全新功能,使用 Google Maps API v3 w/ custom fitbounds (
- Google Maps JS API v3 - Add Map Types
- ETA在Android / IOS上使用Google Maps API
- Google Maps Javascript API v3 地图显示在桌面浏览器上,但不会显示在移动浏览器上