im довольно новичок в API V3 для Google Maps, и я столкнулся с проблемой, когда все инфо-окна имеют одни и те же данные, код im использует итерации через массив данных маркера и выводит маркер плюс infowindow для каждого маркера. Это мой код:Все инфо-окна имеют одинаковые данные
<script type="text/javascript">
(function() {
google.maps.Map.prototype.markers = new Array();
google.maps.Map.prototype.addMarker = function(marker) {
this.markers[this.markers.length] = marker;
};})();
function initialize() {
var latlng = new google.maps.LatLng(37.0691, -8.0312);
var myOptions = {
zoom: 12,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var house = 'images/house.png';
var a = new Array();
var t = new Object();
t.name = "Casa De Cova"
t.lat = 37.0691
t.lng = -8.0312
t.ico = house
t.info = 'Casa De Cova Villa'
a[0] = t;
var t = new Object();
t.name = "Casa Jaquinta"
t.lat = 37.0450
t.lng = -8.0442
t.ico = house
t.info = 'Jaquinta Villa'
a[1] = t;
var t = new Object();
t.name = "Faro Aiport"
t.lat = 37.016187
t.lng = -7.970581
t.ico = 'images/plane.png'
t.info = 'The main Airport'
a[2] = t;
for (var i = 0; i < a.length; i++)
{
var latlng = new google.maps.LatLng(a[i].lat, a[i].lng);
map.addMarker(createMarker(a[i].name,latlng,a[i].ico,a[i].info));
}
}
var counter = 1;
function createMarker(name, latlng, icon, info)
{
var marker = new google.maps.Marker({position: latlng, map: map, icon: icon, title: name});
infowindow = new google.maps.InfoWindow({
content: info
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
document.getElementById(counter).onclick = function() {
infowindow.open(map, marker);
}
counter++;
return marker;
}
</script>
Выпуск рода фиксируется, если «вар» заявление сделано до того «InfoWindow.open (карта, маркер);» если это будет сделано, я смогу увидеть каждое окно с соответствующими данными, но затем, когда откроется одно окно, предыдущий не будет закрыт.
сайт здесь: http://www.danhall.co.uk/algarve/map.php
Я немного потерял, любая помощь очень ценится.
Работает очарование, может отслеживать эту небольшую функцию в любом месте! Спасибо :) Нажимайте все объекты на массив и зацикливайте их каждый, я не думаю, что мой мозг был в точности вчера: P – Dan