google.maps JavaScript API v3 を使用しています。「クリック」リスナーを使用して、一連の住所を Google マップ上のマーカーに変換する必要があります。ユーザーがマップ内のマーカーをクリックすると、別のウィンドウが開き、そのアドレスに関連する URL が表示されます (別のタブが理想的です)。
Googleメソッドgeocode()でjavascript Closureを使用しているため、アドレスとURLの関係を維持できません。
次のような一連のアドレスがあります
var addresses = [ '123 street street', '124 street street' ];
var urls = [ 'www.example.com/1', 'www.example.com/2' ];
次に、API を使用してジオコーディングし、地図上にマーカーを作成します
for (var i = 0; i<addresses.length; i++)
{
var address = addresses[i];
var url = urls[i];
geocoder.geocode(
{ 'address' : address },
function(result, status) {
var x = url // url == ""
var marker = new google.maps.Marker({
position: result[0].geometry.location,
map: map,
title:"Test"
});
google.maps.event.addListener(marker, 'click', function(event){
alert(url);
window.open(url);
},false);
}
}
匿名関数内で、どのように使用できますvar url
か?