これはかなり新しい...配列からのデータを使用して、Googleマップ上にマーカーの動的リストを生成しようとしています(後でWordpressサイトの投稿情報から動的に入力されます)。
さらに以下は、静的データを使用した簡略化されたバージョンのコードです。私が抱えている問題は、「アイコン」キーに配列の 5 番目の値 (つまり pinImageX) を割り当てることができないように見えることです。
以下は正常に機能します...しかし、明らかにすべてのマーカーを1つのピンスタイルで表示します
icon: pinImage1,
しかし、次の使用は機能しません
icon: locations[i][4],
キーに配列の値を正しく割り当てるための構文が欠けているように感じます:(
var locations = [
['Marker1', -50, 100, 1, 'pinImage1'],
['Marker2', -51, 101, 2, 'pinImage2'],
['Marker3', -52, 102, 3, 'pinImage3'],
];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 8,
center: new google.maps.LatLng(-50, 100),
mapTypeId: google.maps.MapTypeId.TERRAIN
});
var infowindow = new google.maps.InfoWindow();
var marker, i;
var pinColor1 = "FF0000";
var pinColor2 = "00FF00";
var pinColor3 = "0000FF";
var pinImage1 = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|" + pinColor1,
new google.maps.Size(21, 34),
new google.maps.Point(0,0),
new google.maps.Point(10, 34));
var pinImage2 = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|" + pinColor2,
new google.maps.Size(21, 34),
new google.maps.Point(0,0),
new google.maps.Point(10, 34));
var pinImage3 = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|" + pinColor3,
new google.maps.Size(21, 34),
new google.maps.Point(0,0),
new google.maps.Point(10, 34));
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
icon: locations[i][4],
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}