У меня проблема с информационным окном. Всякий раз, когда я щелкаю, чтобы просмотреть информационное окно, оно всегда открывает информационное окно для последнего добавленного местоположения. Кто-нибудь может увидеть, что я делаю не так? Спасибо!
for (i = 0; i < placeArray.length; i++) {
geocoder = new google.maps.Geocoder();
var text = placeArray[i][0];
console.log(text);
geocoder.geocode( { 'address': placeArray[i][0]}, function(results, status) {
if (status == 'OK') {
test = results[0].geometry.location;
marker = new google.maps.Marker({
position: new google.maps.LatLng(test.lat(), test.lng()),
animation: google.maps.Animation.DROP,
map: map,
icon: image,
text : text
});
google.maps.event.addListener(marker, 'click', (function (marker,i) {
return function () {
infowindow = new google.maps.InfoWindow({});
infowindow.setContent(marker.text);
infowindow.open(map, marker);
}
})(marker, i));
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
})
}
placeArray из php файла
/*foreach*/
echo '<script language="JavaScript">';
echo "placeArray[$count] = ['$name<br>$addressStreet $addressPost $addressCity<br><a href=\"mailto:$mail\" class=\"link\">$mail</a><br><a href=\"tel:$phone\" class=\"link\">$phone</a>','$lang','$long']";
echo '</script>';
/*end foreach*/
Тестовый массив:
0: Array(3) [ "Serwis Narciarski i Rowerowy<br>Długa 8 87-100 Toruń<br><a href=\"mailto:\" class=\"link\"></a><br><a href=\"tel:566210358\" class=\"link\">566210358</a>", "53.0299769", "18.5891052" ]
1: Array(3) [ "PHU \"EKSPLO\" s.c. Zakład Produkcyjny i sklep firmowy<br>Mikołaja Zyblikiewicza 8 31-029 Kraków<br><a href=\"mailto:eksplo@tlen.pl\" class=\"link\">eksplo@tlen.pl</a><br><a href=\"tel:602680588\" class=\"link\">602680588</a>", "50.0599421", "19.9431942" ]
2: Array(3) [ "Sport4you Sp. z o.o.<br>Kołłątaja 27-28 50-004 Wrocław<br><a href=\"mailto:biuro@ski4you.pl\" class=\"link\">biuro@ski4you.pl</a><br><a href=\"tel:530 120 990\" class=\"link\">530 120 990</a>", "51.102669", "17.037216" ]
length: 3