N 個の住所を取り、それらの住所を N 個の Google マップに表示できるようにしようとしています。class 属性が「canvas」に設定された N 個の div 要素があります。コードを実行すると、最後のテーブル セル要素に、必要な場所の地図が含まれています。他のテーブル セルにはマップが含まれていません。
JavaScript:
// JavaScript Document
var geocoder;
var mapOptions;
var newLocation;
var element;
$(document).ready(function()
{
$.each($(".canvas"),function(i,value)
{
element = value;
initialize($("tr").eq(i).children("td").text());
});
});
function initialize(tr)
{
geocoder = new google.maps.Geocoder();
codeAddress(tr);
}
function codeAddress(address)
{
geocoder.geocode({ 'address': address}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
newLocation = results[0].geometry.location;
mapOptions =
{
center: new google.maps.LatLng(newLocation.Ya,newLocation.Za),
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(element, mapOptions);
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
HTML:
<html>
<head>
</head>
<body>
<table>
<tr>
<td>Address 1</td><td class="canvas"></td>
<td>Address 2</td><td class="canvas"></td>
<td>Address 3</td><td class="canvas"></td>
<td>Address 4</td><td class="canvas"></td>
<td>Address 5</td><td class="canvas"></td>
<td>Address 6</td><td class="canvas"></td>
</tr>
</table>
</body>
</html>