私はperlとjavascriptの新機能で、Googleマップインスタンスにマーカーを挿入するためのjavascript forループをperl配列で実行しようとしています。マップが作成され、forループが実行されますが、ループが正しく実行されていないため、同じマーカーの5が挿入されます。 javascriptでこの配列にアクセスするより良い方法はありますか?Javascript Forlop with Perl with Google Maps APIでマーカーが作成されない
@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;
}
このコードを書いてみると、それがうまくいかないことはありませんでした。常に簡単なコードから始め、その作業を行い、それを追加して少しずつテストしてください。テストされていないコードの大きなブロックは、複数のバグを持つ可能性が高く、そのコードのどこで修正を探すかを知ることは困難です。 – Borodin